hotkeylistener: initialize only on valid game state. (#1684)

This commit is contained in:
Ganom
2019-09-29 14:00:55 -04:00
committed by GitHub
parent 0032bee15f
commit 50104541ff
2 changed files with 39 additions and 28 deletions

View File

@@ -310,10 +310,10 @@ public class MenuEntrySwapperPlugin extends Plugin
updateRemovedObjects();
keyManager.registerKeyListener(ctrlHotkey);
keyManager.registerKeyListener(hotkey);
if (client.getGameState() == GameState.LOGGED_IN)
{
keyManager.registerKeyListener(ctrlHotkey);
keyManager.registerKeyListener(hotkey);
setCastOptions(true);
}
}
@@ -421,10 +421,14 @@ public class MenuEntrySwapperPlugin extends Plugin
{
if (event.getGameState() != GameState.LOGGED_IN)
{
keyManager.unregisterKeyListener(ctrlHotkey);
keyManager.unregisterKeyListener(hotkey);
return;
}
loadConstructionItems();
keyManager.registerKeyListener(ctrlHotkey);
keyManager.registerKeyListener(hotkey);
}
private void onVarbitChanged(VarbitChanged event)

View File

@@ -36,6 +36,7 @@ import net.runelite.api.MenuOpcode;
import net.runelite.api.events.ClientTick;
import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.FocusChanged;
import net.runelite.api.events.GameStateChanged;
import net.runelite.client.config.ConfigManager;
import net.runelite.client.config.Keybind;
import net.runelite.client.eventbus.EventBus;
@@ -157,10 +158,6 @@ public class ShiftWalkerPlugin extends Plugin
@Override
public void hotkeyPressed()
{
if (client.getGameState() != GameState.LOGGED_IN)
{
return;
}
startPrioritizing();
setHotkeyActive(true);
}
@@ -168,10 +165,6 @@ public class ShiftWalkerPlugin extends Plugin
@Override
public void hotkeyReleased()
{
if (client.getGameState() != GameState.LOGGED_IN)
{
return;
}
stopPrioritizing();
setHotkeyActive(false);
}
@@ -184,7 +177,10 @@ public class ShiftWalkerPlugin extends Plugin
this.shiftLoot = config.shiftLoot();
addSubscriptions();
keyManager.registerKeyListener(shift);
if (client.getGameState() == GameState.LOGGED_IN)
{
keyManager.registerKeyListener(shift);
}
}
@Override
@@ -198,6 +194,17 @@ public class ShiftWalkerPlugin extends Plugin
{
eventBus.subscribe(ConfigChanged.class, this, this::onConfigChanged);
eventBus.subscribe(FocusChanged.class, this, this::onFocusChanged);
eventBus.subscribe(GameStateChanged.class, this, this::onGameStateChanged);
}
private void onGameStateChanged(GameStateChanged event)
{
if (event.getGameState() != GameState.LOGGED_IN)
{
keyManager.unregisterKeyListener(shift);
return;
}
keyManager.registerKeyListener(shift);
}
private void onFocusChanged(FocusChanged event)
@@ -208,6 +215,23 @@ public class ShiftWalkerPlugin extends Plugin
}
}
private void onConfigChanged(ConfigChanged event)
{
if (!event.getGroup().equals("shiftwalkhere"))
{
return;
}
if ("shiftWalk".equals(event.getKey()))
{
this.shiftWalk = "true".equals(event.getNewValue());
}
else
{
this.shiftLoot = "true".equals(event.getNewValue());
}
}
private void hotkeyCheck(ClientTick event)
{
if (hotkeyActive)
@@ -260,21 +284,4 @@ public class ShiftWalkerPlugin extends Plugin
menuManager.removePriorityEntry(WALK);
eventBus.unregister(EVENTBUS_THING);
}
private void onConfigChanged(ConfigChanged event)
{
if (!event.getGroup().equals("shiftwalkhere"))
{
return;
}
if ("shiftWalk".equals(event.getKey()))
{
this.shiftWalk = "true".equals(event.getNewValue());
}
else
{
this.shiftLoot = "true".equals(event.getNewValue());
}
}
}