Added raids scout overlay hotkey
This commit is contained in:
@@ -30,6 +30,7 @@ import net.runelite.client.config.Config;
|
|||||||
import net.runelite.client.config.ConfigGroup;
|
import net.runelite.client.config.ConfigGroup;
|
||||||
import net.runelite.client.config.ConfigItem;
|
import net.runelite.client.config.ConfigItem;
|
||||||
import net.runelite.client.config.Stub;
|
import net.runelite.client.config.Stub;
|
||||||
|
import net.runelite.client.config.Keybind;
|
||||||
|
|
||||||
@ConfigGroup("raids")
|
@ConfigGroup("raids")
|
||||||
public interface RaidsConfig extends Config
|
public interface RaidsConfig extends Config
|
||||||
@@ -417,4 +418,15 @@ public interface RaidsConfig extends Config
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ConfigItem(
|
||||||
|
keyName = "hotkey",
|
||||||
|
name = "Toggle scout overlay",
|
||||||
|
description = "When pressed the scout overlay will be toggled. Must enable show scout overlay in raid",
|
||||||
|
position = 31
|
||||||
|
)
|
||||||
|
default Keybind hotkey()
|
||||||
|
{
|
||||||
|
return Keybind.NOT_SET;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ public class RaidsOverlay extends Overlay
|
|||||||
@Setter
|
@Setter
|
||||||
private boolean sharable = false;
|
private boolean sharable = false;
|
||||||
|
|
||||||
@Setter
|
@Getter @Setter
|
||||||
private boolean scoutOverlayShown = false;
|
private boolean scoutOverlayShown = false;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
|
|||||||
@@ -91,6 +91,7 @@ import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
|
|||||||
import net.runelite.client.ui.overlay.tooltip.Tooltip;
|
import net.runelite.client.ui.overlay.tooltip.Tooltip;
|
||||||
import net.runelite.client.ui.overlay.tooltip.TooltipManager;
|
import net.runelite.client.ui.overlay.tooltip.TooltipManager;
|
||||||
import net.runelite.client.util.ImageUtil;
|
import net.runelite.client.util.ImageUtil;
|
||||||
|
import net.runelite.client.util.HotkeyListener;
|
||||||
import net.runelite.client.util.Text;
|
import net.runelite.client.util.Text;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
@@ -155,15 +156,15 @@ 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;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private ClientThread clientThread;
|
private ClientThread clientThread;
|
||||||
|
|
||||||
@Inject
|
|
||||||
private KeyManager keyManager;
|
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private TooltipManager tooltipManager;
|
private TooltipManager tooltipManager;
|
||||||
|
|
||||||
@@ -199,6 +200,8 @@ public class RaidsPlugin extends Plugin
|
|||||||
private String tooltip;
|
private String tooltip;
|
||||||
public boolean canShow;
|
public boolean canShow;
|
||||||
private NavigationButton navButton;
|
private NavigationButton navButton;
|
||||||
|
private boolean raidStarted;
|
||||||
|
|
||||||
private RaidsTimer timer;
|
private RaidsTimer timer;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@@ -234,6 +237,7 @@ public class RaidsPlugin extends Plugin
|
|||||||
{
|
{
|
||||||
overlayManager.add(partyOverlay);
|
overlayManager.add(partyOverlay);
|
||||||
}
|
}
|
||||||
|
keyManager.registerKeyListener(hotkeyListener);
|
||||||
updateLists();
|
updateLists();
|
||||||
clientThread.invokeLater(() -> checkRaidPresence(true));
|
clientThread.invokeLater(() -> checkRaidPresence(true));
|
||||||
widgetOverlay = overlayManager.getWidgetOverlay(WidgetInfo.RAIDS_POINTS_INFOBOX);
|
widgetOverlay = overlayManager.getWidgetOverlay(WidgetInfo.RAIDS_POINTS_INFOBOX);
|
||||||
@@ -260,8 +264,10 @@ public class RaidsPlugin extends Plugin
|
|||||||
overlayManager.remove(partyOverlay);
|
overlayManager.remove(partyOverlay);
|
||||||
}
|
}
|
||||||
infoBoxManager.removeInfoBox(timer);
|
infoBoxManager.removeInfoBox(timer);
|
||||||
|
keyManager.unregisterKeyListener(hotkeyListener);
|
||||||
inRaidChambers = false;
|
inRaidChambers = false;
|
||||||
widgetOverlay = null;
|
widgetOverlay = null;
|
||||||
|
raidStarted = false;
|
||||||
raid = null;
|
raid = null;
|
||||||
timer = null;
|
timer = null;
|
||||||
|
|
||||||
@@ -343,6 +349,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 (config.partyDisplay())
|
if (config.partyDisplay())
|
||||||
{
|
{
|
||||||
@@ -613,6 +620,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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1064,4 +1072,24 @@ public class RaidsPlugin extends Plugin
|
|||||||
builder.append("</br>Olm: ").append(secondsToTime(raidTime - lowerTime));
|
builder.append("</br>Olm: ").append(secondsToTime(raidTime - lowerTime));
|
||||||
tooltip = builder.toString();
|
tooltip = builder.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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