Implemented hotkey functionality for disabling/enabling the scout overlay.
This commit is contained in:
@@ -59,6 +59,7 @@ import net.runelite.client.chat.ChatMessageManager;
|
|||||||
import net.runelite.client.chat.QueuedMessage;
|
import net.runelite.client.chat.QueuedMessage;
|
||||||
import net.runelite.client.config.ConfigManager;
|
import net.runelite.client.config.ConfigManager;
|
||||||
import net.runelite.client.game.SpriteManager;
|
import net.runelite.client.game.SpriteManager;
|
||||||
|
import net.runelite.client.input.KeyManager;
|
||||||
import net.runelite.client.plugins.Plugin;
|
import net.runelite.client.plugins.Plugin;
|
||||||
import net.runelite.client.plugins.PluginDescriptor;
|
import net.runelite.client.plugins.PluginDescriptor;
|
||||||
import net.runelite.client.plugins.raids.solver.Layout;
|
import net.runelite.client.plugins.raids.solver.Layout;
|
||||||
@@ -66,6 +67,7 @@ import net.runelite.client.plugins.raids.solver.LayoutSolver;
|
|||||||
import net.runelite.client.plugins.raids.solver.RotationSolver;
|
import net.runelite.client.plugins.raids.solver.RotationSolver;
|
||||||
import net.runelite.client.ui.overlay.OverlayManager;
|
import net.runelite.client.ui.overlay.OverlayManager;
|
||||||
import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
|
import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
|
||||||
|
import net.runelite.client.util.HotkeyListener;
|
||||||
import net.runelite.client.util.Text;
|
import net.runelite.client.util.Text;
|
||||||
|
|
||||||
@PluginDescriptor(
|
@PluginDescriptor(
|
||||||
@@ -109,6 +111,9 @@ public class RaidsPlugin extends Plugin
|
|||||||
@Inject
|
@Inject
|
||||||
private LayoutSolver layoutSolver;
|
private LayoutSolver layoutSolver;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private KeyManager keyManager;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private SpriteManager spriteManager;
|
private SpriteManager spriteManager;
|
||||||
|
|
||||||
@@ -130,6 +135,8 @@ public class RaidsPlugin extends Plugin
|
|||||||
@Getter
|
@Getter
|
||||||
private boolean inRaidChambers;
|
private boolean inRaidChambers;
|
||||||
|
|
||||||
|
private boolean raidStarted;
|
||||||
|
|
||||||
private RaidsTimer timer;
|
private RaidsTimer timer;
|
||||||
|
|
||||||
@Provides
|
@Provides
|
||||||
@@ -149,6 +156,7 @@ public class RaidsPlugin extends Plugin
|
|||||||
{
|
{
|
||||||
overlayManager.add(overlay);
|
overlayManager.add(overlay);
|
||||||
overlayManager.add(pointsOverlay);
|
overlayManager.add(pointsOverlay);
|
||||||
|
keyManager.registerKeyListener(hotkeyListener);
|
||||||
updateLists();
|
updateLists();
|
||||||
checkRaidPresence(true);
|
checkRaidPresence(true);
|
||||||
}
|
}
|
||||||
@@ -159,7 +167,9 @@ public class RaidsPlugin extends Plugin
|
|||||||
overlayManager.remove(overlay);
|
overlayManager.remove(overlay);
|
||||||
overlayManager.remove(pointsOverlay);
|
overlayManager.remove(pointsOverlay);
|
||||||
infoBoxManager.removeInfoBox(timer);
|
infoBoxManager.removeInfoBox(timer);
|
||||||
|
keyManager.unregisterKeyListener(hotkeyListener);
|
||||||
inRaidChambers = false;
|
inRaidChambers = false;
|
||||||
|
raidStarted = false;
|
||||||
raid = null;
|
raid = null;
|
||||||
timer = null;
|
timer = null;
|
||||||
}
|
}
|
||||||
@@ -215,6 +225,7 @@ public class RaidsPlugin extends Plugin
|
|||||||
{
|
{
|
||||||
timer = new RaidsTimer(spriteManager.getSprite(TAB_QUESTS_BROWN_RAIDING_PARTY, 0), this, Instant.now());
|
timer = new RaidsTimer(spriteManager.getSprite(TAB_QUESTS_BROWN_RAIDING_PARTY, 0), this, Instant.now());
|
||||||
infoBoxManager.addInfoBox(timer);
|
infoBoxManager.addInfoBox(timer);
|
||||||
|
raidStarted = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (timer != null && message.contains(LEVEL_COMPLETE_MESSAGE))
|
if (timer != null && message.contains(LEVEL_COMPLETE_MESSAGE))
|
||||||
@@ -309,6 +320,7 @@ public class RaidsPlugin extends Plugin
|
|||||||
if (client.getVar(VarPlayer.IN_RAID_PARTY) == -1 && (!inRaidChambers || !config.scoutOverlayInRaid()))
|
if (client.getVar(VarPlayer.IN_RAID_PARTY) == -1 && (!inRaidChambers || !config.scoutOverlayInRaid()))
|
||||||
{
|
{
|
||||||
overlay.setScoutOverlayShown(false);
|
overlay.setScoutOverlayShown(false);
|
||||||
|
raidStarted = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -599,4 +611,24 @@ public class RaidsPlugin extends Plugin
|
|||||||
|
|
||||||
return room;
|
return room;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private final HotkeyListener hotkeyListener = new HotkeyListener(() -> config.hotkey())
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void hotkeyPressed()
|
||||||
|
{
|
||||||
|
if(config.scoutOverlayInRaid() && raidStarted)
|
||||||
|
{
|
||||||
|
if(overlay.isScoutOverlayShown())
|
||||||
|
{
|
||||||
|
overlay.setScoutOverlayShown(false);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
overlay.setScoutOverlayShown(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user