Merge pull request #737 from sansfromf0rtnite/dc-scouter-inject

Use injection instead of reflection for instance reloader.
This commit is contained in:
Ganom
2019-06-24 19:02:05 -04:00
committed by GitHub
3 changed files with 11 additions and 15 deletions

View File

@@ -127,6 +127,13 @@ public interface Client extends GameShell
*/
GameState getGameState();
/**
* Sets the current game state.
*
* @param gameState new game state
*/
void setGameState(int gameState);
/**
* Gets the current logged in username.
*

View File

@@ -27,7 +27,6 @@ package net.runelite.client.plugins.raids;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.lang.reflect.Method;
import javax.inject.Inject;
import javax.swing.BorderFactory;
import javax.swing.JButton;
@@ -78,22 +77,9 @@ class RaidsPanel extends PluginPanel
JPanel scoutFrame = new JPanel();
reloadButton.addActionListener((ActionEvent e) ->
{
if ((client.getGameState() == GameState.LOGGED_IN))
{
try
{
//look for client.gameStateChanged(-1); in src files to find
Method m = client.getClass().getClassLoader().loadClass("ba").getDeclaredMethod("ec", int.class, byte.class);
m.setAccessible(true);
m.invoke(null, 40, (byte) 3);
}
catch (ReflectiveOperationException f)
{
throw new RuntimeException(f);
}
client.setGameState(40);
}
});
reloadScouter.addActionListener((ActionEvent e) ->

View File

@@ -143,6 +143,9 @@ public interface RSClient extends RSGameShell, Client
@Import("gameState")
int getRSGameState();
@Import("updateGameState")
void setGameState(int gameState);
@Import("checkClick")
@Override
void setCheckClick(boolean checkClick);