Make plugins work with new OverlayManager

- Remove the usage of getOverlay and getOverlays
- Replace the overlay addition/removal with correct calls to
overlayManager.add and overlayManager.remove
- Update tests

Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
This commit is contained in:
Tomas Slusny
2018-05-23 12:29:32 +02:00
parent 921bfb2fdd
commit 41e0b27a99
53 changed files with 587 additions and 411 deletions

View File

@@ -26,8 +26,6 @@ package net.runelite.client.plugins.agility;
import com.google.common.eventbus.Subscribe; import com.google.common.eventbus.Subscribe;
import com.google.inject.Provides; import com.google.inject.Provides;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
@@ -65,7 +63,7 @@ import net.runelite.client.Notifier;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
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.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
import net.runelite.client.ui.overlay.infobox.InfoBoxManager; import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
@PluginDescriptor( @PluginDescriptor(
@@ -83,11 +81,13 @@ public class AgilityPlugin extends Plugin
private Tile markOfGrace; private Tile markOfGrace;
@Inject @Inject
@Getter private OverlayManager overlayManager;
private AgilityOverlay overlay;
@Inject @Inject
private LapCounterOverlay lapOverlay; private AgilityOverlay agilityOverlay;
@Inject
private LapCounterOverlay lapCounterOverlay;
@Inject @Inject
private Notifier notifier; private Notifier notifier;
@@ -114,14 +114,17 @@ public class AgilityPlugin extends Plugin
} }
@Override @Override
public Collection<Overlay> getOverlays() protected void startUp() throws Exception
{ {
return Arrays.asList(overlay, lapOverlay); overlayManager.add(agilityOverlay);
overlayManager.add(lapCounterOverlay);
} }
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.remove(agilityOverlay);
overlayManager.remove(lapCounterOverlay);
markOfGrace = null; markOfGrace = null;
obstacles.clear(); obstacles.clear();
session = null; session = null;

View File

@@ -52,6 +52,7 @@ import net.runelite.client.plugins.PluginDescriptor;
import static net.runelite.client.plugins.attackstyles.AttackStyle.CASTING; import static net.runelite.client.plugins.attackstyles.AttackStyle.CASTING;
import static net.runelite.client.plugins.attackstyles.AttackStyle.DEFENSIVE_CASTING; import static net.runelite.client.plugins.attackstyles.AttackStyle.DEFENSIVE_CASTING;
import static net.runelite.client.plugins.attackstyles.AttackStyle.OTHER; import static net.runelite.client.plugins.attackstyles.AttackStyle.OTHER;
import net.runelite.client.ui.overlay.OverlayManager;
@PluginDescriptor( @PluginDescriptor(
name = "Attack Styles" name = "Attack Styles"
@@ -73,6 +74,9 @@ public class AttackStylesPlugin extends Plugin
@Inject @Inject
private AttackStylesConfig config; private AttackStylesConfig config;
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private AttackStylesOverlay overlay; private AttackStylesOverlay overlay;
@@ -82,16 +86,11 @@ public class AttackStylesPlugin extends Plugin
return configManager.getConfig(AttackStylesConfig.class); return configManager.getConfig(AttackStylesConfig.class);
} }
@Override
public AttackStylesOverlay getOverlay()
{
return overlay;
}
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
overlayManager.add(overlay);
if (client.getGameState() == GameState.LOGGED_IN) if (client.getGameState() == GameState.LOGGED_IN)
{ {
updateWarnedSkills(config.warnForAttack(), Skill.ATTACK); updateWarnedSkills(config.warnForAttack(), Skill.ATTACK);
@@ -111,6 +110,7 @@ public class AttackStylesPlugin extends Plugin
@Override @Override
protected void shutDown() protected void shutDown()
{ {
overlayManager.remove(overlay);
hideWarnedStyles(false); hideWarnedStyles(false);
processWidgets(); processWidgets();
} }

View File

@@ -45,7 +45,7 @@ import net.runelite.client.config.ConfigManager;
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.ui.FontManager; import net.runelite.client.ui.FontManager;
import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
@PluginDescriptor( @PluginDescriptor(
name = "Barbarian Assault" name = "Barbarian Assault"
@@ -63,6 +63,9 @@ public class BarbarianAssaultPlugin extends Plugin
@Inject @Inject
private Client client; private Client client;
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private BarbarianAssaultConfig config; private BarbarianAssaultConfig config;
@@ -78,6 +81,7 @@ public class BarbarianAssaultPlugin extends Plugin
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
overlayManager.add(overlay);
font = FontManager.getRunescapeFont() font = FontManager.getRunescapeFont()
.deriveFont(Font.BOLD, 24); .deriveFont(Font.BOLD, 24);
@@ -87,6 +91,12 @@ public class BarbarianAssaultPlugin extends Plugin
} }
} }
@Override
protected void shutDown() throws Exception
{
overlayManager.remove(overlay);
}
@Subscribe @Subscribe
public void onGameTick(GameTick event) public void onGameTick(GameTick event)
{ {
@@ -155,12 +165,6 @@ public class BarbarianAssaultPlugin extends Plugin
} }
} }
@Override
public Overlay getOverlay()
{
return overlay;
}
public Font getFont() public Font getFont()
{ {
return font; return font;

View File

@@ -28,7 +28,6 @@ import com.google.common.collect.Sets;
import com.google.common.eventbus.Subscribe; import com.google.common.eventbus.Subscribe;
import com.google.inject.Provides; import com.google.inject.Provides;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collection;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
@@ -64,7 +63,7 @@ import net.runelite.client.config.ConfigManager;
import net.runelite.client.game.ItemManager; import net.runelite.client.game.ItemManager;
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.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
import net.runelite.client.util.StackFormatter; import net.runelite.client.util.StackFormatter;
import net.runelite.http.api.item.ItemPrice; import net.runelite.http.api.item.ItemPrice;
@@ -88,26 +87,19 @@ public class BarrowsPlugin extends Plugin
@Getter(AccessLevel.PACKAGE) @Getter(AccessLevel.PACKAGE)
private final Set<WallObject> walls = new HashSet<>(); private final Set<WallObject> walls = new HashSet<>();
@Getter(AccessLevel.PACKAGE) @Getter(AccessLevel.PACKAGE)
private final Set<GameObject> ladders = new HashSet<>(); private final Set<GameObject> ladders = new HashSet<>();
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private BarrowsOverlay barrowsOverlay; private BarrowsOverlay barrowsOverlay;
@Inject @Inject
private BarrowsBrotherSlainOverlay brotherOverlay; private BarrowsBrotherSlainOverlay brotherOverlay;
@Provides
BarrowsConfig provideConfig(ConfigManager configManager)
{
return configManager.getConfig(BarrowsConfig.class);
}
@Override
public Collection<Overlay> getOverlays()
{
return Arrays.asList(barrowsOverlay, brotherOverlay);
}
@Inject @Inject
private Client client; private Client client;
@@ -122,9 +114,24 @@ public class BarrowsPlugin extends Plugin
private long chestPrice; private long chestPrice;
@Provides
BarrowsConfig provideConfig(ConfigManager configManager)
{
return configManager.getConfig(BarrowsConfig.class);
}
@Override
protected void startUp() throws Exception
{
overlayManager.add(barrowsOverlay);
overlayManager.add(brotherOverlay);
}
@Override @Override
protected void shutDown() protected void shutDown()
{ {
overlayManager.remove(barrowsOverlay);
overlayManager.remove(brotherOverlay);
walls.clear(); walls.clear();
ladders.clear(); ladders.clear();
} }

View File

@@ -26,8 +26,6 @@ package net.runelite.client.plugins.blastfurnace;
import com.google.common.eventbus.Subscribe; import com.google.common.eventbus.Subscribe;
import com.google.inject.Provides; import com.google.inject.Provides;
import java.util.Arrays;
import java.util.Collection;
import javax.inject.Inject; import javax.inject.Inject;
import lombok.AccessLevel; import lombok.AccessLevel;
import lombok.Getter; import lombok.Getter;
@@ -41,7 +39,7 @@ import net.runelite.api.events.GameStateChanged;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
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.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
@PluginDescriptor( @PluginDescriptor(
name = "Blast Furnace" name = "Blast Furnace"
@@ -56,6 +54,9 @@ public class BlastFurnacePlugin extends Plugin
@Getter(AccessLevel.PACKAGE) @Getter(AccessLevel.PACKAGE)
private GameObject barDispenser; private GameObject barDispenser;
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private BlastFurnaceOverlay overlay; private BlastFurnaceOverlay overlay;
@@ -65,9 +66,20 @@ public class BlastFurnacePlugin extends Plugin
@Inject @Inject
private BlastFurnaceClickBoxOverlay clickBoxOverlay; private BlastFurnaceClickBoxOverlay clickBoxOverlay;
@Override
protected void startUp() throws Exception
{
overlayManager.add(overlay);
overlayManager.add(cofferOverlay);
overlayManager.add(clickBoxOverlay);
}
@Override @Override
protected void shutDown() protected void shutDown()
{ {
overlayManager.remove(overlay);
overlayManager.remove(cofferOverlay);
overlayManager.remove(clickBoxOverlay);
conveyorBelt = null; conveyorBelt = null;
barDispenser = null; barDispenser = null;
} }
@@ -78,12 +90,6 @@ public class BlastFurnacePlugin extends Plugin
return configManager.getConfig(BlastFurnaceConfig.class); return configManager.getConfig(BlastFurnaceConfig.class);
} }
@Override
public Collection<Overlay> getOverlays()
{
return Arrays.asList(overlay, cofferOverlay, clickBoxOverlay);
}
@Subscribe @Subscribe
public void onGameObjectSpawn(GameObjectSpawned event) public void onGameObjectSpawn(GameObjectSpawned event)
{ {

View File

@@ -26,8 +26,6 @@ package net.runelite.client.plugins.blastmine;
import com.google.common.eventbus.Subscribe; import com.google.common.eventbus.Subscribe;
import com.google.inject.Provides; import com.google.inject.Provides;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import javax.inject.Inject; import javax.inject.Inject;
@@ -44,7 +42,7 @@ import net.runelite.api.widgets.WidgetInfo;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
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.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
@PluginDescriptor(name = "Blast Mine") @PluginDescriptor(name = "Blast Mine")
public class BlastMinePlugin extends Plugin public class BlastMinePlugin extends Plugin
@@ -52,6 +50,9 @@ public class BlastMinePlugin extends Plugin
@Getter @Getter
private final Map<WorldPoint, BlastMineRock> rocks = new HashMap<>(); private final Map<WorldPoint, BlastMineRock> rocks = new HashMap<>();
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private Client client; private Client client;
@@ -68,14 +69,17 @@ public class BlastMinePlugin extends Plugin
} }
@Override @Override
public Collection<Overlay> getOverlays() protected void startUp() throws Exception
{ {
return Arrays.asList(blastMineRockOverlay, blastMineOreCountOverlay); overlayManager.add(blastMineRockOverlay);
overlayManager.add(blastMineOreCountOverlay);
} }
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.remove(blastMineRockOverlay);
overlayManager.remove(blastMineOreCountOverlay);
final Widget blastMineWidget = client.getWidget(WidgetInfo.BLAST_MINE); final Widget blastMineWidget = client.getWidget(WidgetInfo.BLAST_MINE);
if (blastMineWidget != null) if (blastMineWidget != null)

View File

@@ -44,7 +44,7 @@ import net.runelite.client.config.ConfigManager;
import net.runelite.client.game.SkillIconManager; import net.runelite.client.game.SkillIconManager;
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.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
import net.runelite.client.ui.overlay.infobox.InfoBoxManager; import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
@PluginDescriptor( @PluginDescriptor(
@@ -78,6 +78,9 @@ public class BoostsPlugin extends Plugin
@Inject @Inject
private InfoBoxManager infoBoxManager; private InfoBoxManager infoBoxManager;
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private BoostsOverlay boostsOverlay; private BoostsOverlay boostsOverlay;
@@ -100,15 +103,10 @@ public class BoostsPlugin extends Plugin
return configManager.getConfig(BoostsConfig.class); return configManager.getConfig(BoostsConfig.class);
} }
@Override
public Overlay getOverlay()
{
return boostsOverlay;
}
@Override @Override
protected void startUp() protected void startUp()
{ {
overlayManager.add(boostsOverlay);
updateShownSkills(config.enableSkill()); updateShownSkills(config.enableSkill());
Arrays.fill(lastSkillLevels, -1); Arrays.fill(lastSkillLevels, -1);
overallIcon = skillIconManager.getSkillImage(Skill.OVERALL); overallIcon = skillIconManager.getSkillImage(Skill.OVERALL);
@@ -117,6 +115,7 @@ public class BoostsPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.remove(boostsOverlay);
infoBoxManager.removeIf(t -> t instanceof BoostIndicator || t instanceof StatChangeIndicator); infoBoxManager.removeIf(t -> t instanceof BoostIndicator || t instanceof StatChangeIndicator);
} }

View File

@@ -29,8 +29,6 @@ import com.google.inject.Provides;
import java.awt.Color; import java.awt.Color;
import java.time.temporal.ChronoUnit; import java.time.temporal.ChronoUnit;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@@ -59,7 +57,7 @@ import net.runelite.client.game.ItemManager;
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.task.Schedule; import net.runelite.client.task.Schedule;
import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
import net.runelite.client.ui.overlay.infobox.InfoBoxManager; import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
@PluginDescriptor( @PluginDescriptor(
@@ -97,6 +95,9 @@ public class CannonPlugin extends Plugin
@Inject @Inject
private Notifier notifier; private Notifier notifier;
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private CannonOverlay cannonOverlay; private CannonOverlay cannonOverlay;
@@ -119,14 +120,17 @@ public class CannonPlugin extends Plugin
} }
@Override @Override
public Collection<Overlay> getOverlays() protected void startUp() throws Exception
{ {
return Arrays.asList(cannonOverlay, cannonSpotOverlay); overlayManager.add(cannonOverlay);
overlayManager.add(cannonSpotOverlay);
} }
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.remove(cannonOverlay);
overlayManager.remove(cannonSpotOverlay);
cannonPlaced = false; cannonPlaced = false;
cannonPosition = null; cannonPosition = null;
cballsLeft = 0; cballsLeft = 0;

View File

@@ -41,7 +41,7 @@ import net.runelite.api.events.NpcDespawned;
import net.runelite.api.events.NpcSpawned; import net.runelite.api.events.NpcSpawned;
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.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
@PluginDescriptor(name = "Cerberus") @PluginDescriptor(name = "Cerberus")
@Singleton @Singleton
@@ -50,21 +50,25 @@ public class CerberusPlugin extends Plugin
@Getter @Getter
private final List<NPC> ghosts = new ArrayList<>(); private final List<NPC> ghosts = new ArrayList<>();
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private CerberusOverlay overlay; private CerberusOverlay overlay;
@Override
protected void startUp() throws Exception
{
overlayManager.add(overlay);
}
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.remove(overlay);
ghosts.clear(); ghosts.clear();
} }
@Override
public Overlay getOverlay()
{
return overlay;
}
@Subscribe @Subscribe
public void onGameStateChange(GameStateChanged event) public void onGameStateChange(GameStateChanged event)
{ {

View File

@@ -33,7 +33,6 @@ import java.io.IOException;
import java.time.Duration; import java.time.Duration;
import java.time.Instant; import java.time.Instant;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.stream.Stream; import java.util.stream.Stream;
import javax.imageio.ImageIO; import javax.imageio.ImageIO;
@@ -82,7 +81,7 @@ import net.runelite.client.plugins.cluescrolls.clues.MapClue;
import net.runelite.client.plugins.cluescrolls.clues.NpcClueScroll; import net.runelite.client.plugins.cluescrolls.clues.NpcClueScroll;
import net.runelite.client.plugins.cluescrolls.clues.ObjectClueScroll; import net.runelite.client.plugins.cluescrolls.clues.ObjectClueScroll;
import net.runelite.client.plugins.cluescrolls.clues.TextClueScroll; import net.runelite.client.plugins.cluescrolls.clues.TextClueScroll;
import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
import net.runelite.client.ui.overlay.worldmap.WorldMapPointManager; import net.runelite.client.ui.overlay.worldmap.WorldMapPointManager;
import net.runelite.client.util.QueryRunner; import net.runelite.client.util.QueryRunner;
import net.runelite.client.util.Text; import net.runelite.client.util.Text;
@@ -128,6 +127,9 @@ public class ClueScrollPlugin extends Plugin
@Inject @Inject
private QueryRunner queryRunner; private QueryRunner queryRunner;
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private ClueScrollOverlay clueScrollOverlay; private ClueScrollOverlay clueScrollOverlay;
@@ -172,15 +174,20 @@ public class ClueScrollPlugin extends Plugin
} }
@Override @Override
protected void shutDown() throws Exception protected void startUp() throws Exception
{ {
resetClue(); overlayManager.add(clueScrollOverlay);
overlayManager.add(clueScrollEmoteOverlay);
overlayManager.add(clueScrollWorldOverlay);
} }
@Override @Override
public Collection<Overlay> getOverlays() protected void shutDown() throws Exception
{ {
return Arrays.asList(clueScrollOverlay, clueScrollEmoteOverlay, clueScrollWorldOverlay); overlayManager.remove(clueScrollOverlay);
overlayManager.remove(clueScrollEmoteOverlay);
overlayManager.remove(clueScrollWorldOverlay);
resetClue();
} }
@Subscribe @Subscribe

View File

@@ -58,7 +58,7 @@ import net.runelite.api.events.ProjectileMoved;
import net.runelite.client.callback.ClientThread; import net.runelite.client.callback.ClientThread;
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.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
@PluginDescriptor( @PluginDescriptor(
name = "Demonic Gorillas" name = "Demonic Gorillas"
@@ -69,6 +69,9 @@ public class DemonicGorillaPlugin extends Plugin
@Inject @Inject
private Client client; private Client client;
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private DemonicGorillaOverlay overlay; private DemonicGorillaOverlay overlay;
@@ -87,6 +90,7 @@ public class DemonicGorillaPlugin extends Plugin
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
overlayManager.add(overlay);
gorillas = new HashMap<>(); gorillas = new HashMap<>();
recentBoulders = new ArrayList<>(); recentBoulders = new ArrayList<>();
pendingAttacks = new ArrayList<>(); pendingAttacks = new ArrayList<>();
@@ -97,18 +101,13 @@ public class DemonicGorillaPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.remove(overlay);
gorillas = null; gorillas = null;
recentBoulders = null; recentBoulders = null;
pendingAttacks = null; pendingAttacks = null;
memorizedPlayers = null; memorizedPlayers = null;
} }
@Override
public Overlay getOverlay()
{
return overlay;
}
private void clear() private void clear()
{ {
recentBoulders.clear(); recentBoulders.clear();

View File

@@ -32,8 +32,6 @@ import com.google.inject.Provides;
import java.awt.Font; import java.awt.Font;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import static java.lang.Math.min; import static java.lang.Math.min;
import java.util.Arrays;
import java.util.Collection;
import javax.imageio.ImageIO; import javax.imageio.ImageIO;
import javax.inject.Inject; import javax.inject.Inject;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@@ -52,7 +50,7 @@ import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.FontManager; import net.runelite.client.ui.FontManager;
import net.runelite.client.ui.NavigationButton; import net.runelite.client.ui.NavigationButton;
import net.runelite.client.ui.PluginToolbar; import net.runelite.client.ui.PluginToolbar;
import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@PluginDescriptor( @PluginDescriptor(
@@ -68,6 +66,9 @@ public class DevToolsPlugin extends Plugin
@Inject @Inject
private PluginToolbar pluginToolbar; private PluginToolbar pluginToolbar;
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private DevToolsOverlay overlay; private DevToolsOverlay overlay;
@@ -120,6 +121,12 @@ public class DevToolsPlugin extends Plugin
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
overlayManager.add(overlay);
overlayManager.add(locationOverlay);
overlayManager.add(sceneOverlay);
overlayManager.add(cameraOverlay);
overlayManager.add(worldMapLocationOverlay);
final DevToolsPanel panel = injector.getInstance(DevToolsPanel.class); final DevToolsPanel panel = injector.getInstance(DevToolsPanel.class);
BufferedImage icon; BufferedImage icon;
@@ -144,15 +151,14 @@ public class DevToolsPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.remove(overlay);
overlayManager.remove(locationOverlay);
overlayManager.remove(sceneOverlay);
overlayManager.remove(cameraOverlay);
overlayManager.remove(worldMapLocationOverlay);
pluginToolbar.removeNavigation(navButton); pluginToolbar.removeNavigation(navButton);
} }
@Override
public Collection<Overlay> getOverlays()
{
return Arrays.asList(overlay, locationOverlay, sceneOverlay, cameraOverlay, worldMapLocationOverlay);
}
@Subscribe @Subscribe
public void onCommand(CommandExecuted commandExecuted) public void onCommand(CommandExecuted commandExecuted)
{ {

View File

@@ -34,7 +34,7 @@ import net.runelite.api.queries.NPCQuery;
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.task.Schedule; import net.runelite.client.task.Schedule;
import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
import net.runelite.client.util.QueryRunner; import net.runelite.client.util.QueryRunner;
@PluginDescriptor( @PluginDescriptor(
@@ -48,15 +48,24 @@ public class FightCavePlugin extends Plugin
@Inject @Inject
private QueryRunner queryRunner; private QueryRunner queryRunner;
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private FightCaveOverlay overlay; private FightCaveOverlay overlay;
private JadAttack attack; private JadAttack attack;
@Override @Override
public Overlay getOverlay() protected void startUp() throws Exception
{ {
return overlay; overlayManager.add(overlay);
}
@Override
protected void shutDown() throws Exception
{
overlayManager.remove(overlay);
} }
@Schedule( @Schedule(

View File

@@ -30,7 +30,6 @@ import com.google.common.primitives.Ints;
import com.google.inject.Provides; import com.google.inject.Provides;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collection;
import java.util.Comparator; import java.util.Comparator;
import java.util.List; import java.util.List;
import javax.inject.Inject; import javax.inject.Inject;
@@ -50,7 +49,7 @@ import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDependency; import net.runelite.client.plugins.PluginDependency;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.xptracker.XpTrackerPlugin; import net.runelite.client.plugins.xptracker.XpTrackerPlugin;
import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
import net.runelite.client.util.QueryRunner; import net.runelite.client.util.QueryRunner;
@PluginDescriptor( @PluginDescriptor(
@@ -71,6 +70,9 @@ public class FishingPlugin extends Plugin
@Inject @Inject
private QueryRunner queryRunner; private QueryRunner queryRunner;
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private FishingConfig config; private FishingConfig config;
@@ -94,14 +96,18 @@ public class FishingPlugin extends Plugin
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
// Initialize overlay config overlayManager.add(overlay);
overlayManager.add(spotOverlay);
overlayManager.add(fishingSpotMinimapOverlay);
updateConfig(); updateConfig();
} }
@Override @Override
public Collection<Overlay> getOverlays() protected void shutDown() throws Exception
{ {
return Arrays.asList(overlay, spotOverlay, fishingSpotMinimapOverlay); overlayManager.remove(overlay);
overlayManager.remove(spotOverlay);
overlayManager.remove(fishingSpotMinimapOverlay);
} }
public FishingSession getSession() public FishingSession getSession()

View File

@@ -33,7 +33,7 @@ import net.runelite.client.config.ConfigManager;
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.ui.DrawManager; import net.runelite.client.ui.DrawManager;
import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
/** /**
* FPS Control has two primary areas, this plugin class just keeps those areas up to date and handles setup / teardown. * FPS Control has two primary areas, this plugin class just keeps those areas up to date and handles setup / teardown.
@@ -53,6 +53,9 @@ public class FpsPlugin extends Plugin
{ {
static final String CONFIG_GROUP_KEY = "fpscontrol"; static final String CONFIG_GROUP_KEY = "fpscontrol";
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private FpsOverlay overlay; private FpsOverlay overlay;
@@ -68,12 +71,6 @@ public class FpsPlugin extends Plugin
return configManager.getConfig(FpsConfig.class); return configManager.getConfig(FpsConfig.class);
} }
@Override
public Overlay getOverlay()
{
return overlay;
}
@Subscribe @Subscribe
public void onConfigChanged(ConfigChanged event) public void onConfigChanged(ConfigChanged event)
{ {
@@ -93,6 +90,7 @@ public class FpsPlugin extends Plugin
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
overlayManager.add(overlay);
drawManager.registerEveryFrameListener(drawListener); drawManager.registerEveryFrameListener(drawListener);
drawListener.reloadConfig(); drawListener.reloadConfig();
} }
@@ -100,6 +98,7 @@ public class FpsPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.remove(overlay);
drawManager.unregisterEveryFrameListener(drawListener); drawManager.unregisterEveryFrameListener(drawListener);
} }
} }

View File

@@ -48,7 +48,7 @@ import net.runelite.client.config.ConfigManager;
import net.runelite.client.game.ChatboxInputManager; import net.runelite.client.game.ChatboxInputManager;
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.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
import net.runelite.client.util.Text; import net.runelite.client.util.Text;
@Slf4j @Slf4j
@@ -69,6 +69,9 @@ public class FriendNotesPlugin extends Plugin
@Inject @Inject
private ConfigManager configManager; private ConfigManager configManager;
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private FriendNoteOverlay overlay; private FriendNoteOverlay overlay;
@@ -79,9 +82,15 @@ public class FriendNotesPlugin extends Plugin
private HoveredFriend hoveredFriend = null; private HoveredFriend hoveredFriend = null;
@Override @Override
public Overlay getOverlay() protected void startUp() throws Exception
{ {
return overlay; overlayManager.add(overlay);
}
@Override
protected void shutDown() throws Exception
{
overlayManager.remove(overlay);
} }
/** /**

View File

@@ -81,7 +81,7 @@ import net.runelite.client.plugins.grounditems.config.MenuHighlightMode;
import static net.runelite.client.plugins.grounditems.config.MenuHighlightMode.BOTH; import static net.runelite.client.plugins.grounditems.config.MenuHighlightMode.BOTH;
import static net.runelite.client.plugins.grounditems.config.MenuHighlightMode.NAME; import static net.runelite.client.plugins.grounditems.config.MenuHighlightMode.NAME;
import static net.runelite.client.plugins.grounditems.config.MenuHighlightMode.OPTION; import static net.runelite.client.plugins.grounditems.config.MenuHighlightMode.OPTION;
import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
import net.runelite.http.api.item.ItemPrice; import net.runelite.http.api.item.ItemPrice;
@PluginDescriptor( @PluginDescriptor(
@@ -140,6 +140,9 @@ public class GroundItemsPlugin extends Plugin
@Inject @Inject
private ItemManager itemManager; private ItemManager itemManager;
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private GroundItemsConfig config; private GroundItemsConfig config;
@@ -171,15 +174,10 @@ public class GroundItemsPlugin extends Plugin
return configManager.getConfig(GroundItemsConfig.class); return configManager.getConfig(GroundItemsConfig.class);
} }
@Override
public Overlay getOverlay()
{
return overlay;
}
@Override @Override
protected void startUp() protected void startUp()
{ {
overlayManager.add(overlay);
reset(); reset();
mouseManager.registerMouseListener(inputListener); mouseManager.registerMouseListener(inputListener);
keyManager.registerKeyListener(inputListener); keyManager.registerKeyListener(inputListener);
@@ -188,6 +186,7 @@ public class GroundItemsPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.remove(overlay);
mouseManager.unregisterMouseListener(inputListener); mouseManager.unregisterMouseListener(inputListener);
keyManager.unregisterKeyListener(inputListener); keyManager.unregisterKeyListener(inputListener);
groundItems.clear(); groundItems.clear();

View File

@@ -56,6 +56,7 @@ import net.runelite.client.config.ConfigManager;
import net.runelite.client.input.KeyManager; 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.ui.overlay.OverlayManager;
@Slf4j @Slf4j
@PluginDescriptor( @PluginDescriptor(
@@ -85,6 +86,9 @@ public class GroundMarkerPlugin extends Plugin
@Inject @Inject
private ConfigManager configManager; private ConfigManager configManager;
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private GroundMarkerOverlay overlay; private GroundMarkerOverlay overlay;
@@ -286,20 +290,17 @@ public class GroundMarkerPlugin extends Plugin
@Override @Override
protected void startUp() protected void startUp()
{ {
overlayManager.add(overlay);
keyManager.registerKeyListener(inputListener); keyManager.registerKeyListener(inputListener);
} }
@Override @Override
protected void shutDown() protected void shutDown()
{ {
overlayManager.remove(overlay);
keyManager.unregisterKeyListener(inputListener); keyManager.unregisterKeyListener(inputListener);
} }
@Override
public GroundMarkerOverlay getOverlay()
{
return overlay;
}
protected void markTile(LocalPoint localPoint) protected void markTile(LocalPoint localPoint)
{ {

View File

@@ -27,7 +27,6 @@ package net.runelite.client.plugins.herbiboars;
import com.google.common.eventbus.Subscribe; import com.google.common.eventbus.Subscribe;
import com.google.inject.Provides; import com.google.inject.Provides;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.List; import java.util.List;
@@ -58,7 +57,7 @@ import net.runelite.api.events.VarbitChanged;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
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.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
@Slf4j @Slf4j
@PluginDescriptor( @PluginDescriptor(
@@ -96,24 +95,15 @@ public class HerbiboarPlugin extends Plugin
@Inject @Inject
private Client client; private Client client;
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private HerbiboarOverlay overlay; private HerbiboarOverlay overlay;
@Inject @Inject
private HerbiboarMinimapOverlay minimapOverlay; private HerbiboarMinimapOverlay minimapOverlay;
@Override
public Collection<Overlay> getOverlays()
{
return Arrays.asList(overlay, minimapOverlay);
}
@Provides
HerbiboarConfig getConfig(ConfigManager configManager)
{
return configManager.getConfig(HerbiboarConfig.class);
}
@Getter @Getter
private boolean inHerbiboarArea; private boolean inHerbiboarArea;
@@ -145,12 +135,27 @@ public class HerbiboarPlugin extends Plugin
@Setter @Setter
private int finishId; private int finishId;
@Provides
HerbiboarConfig getConfig(ConfigManager configManager)
{
return configManager.getConfig(HerbiboarConfig.class);
}
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
overlayManager.add(overlay);
overlayManager.add(minimapOverlay);
inHerbiboarArea = checkArea(); inHerbiboarArea = checkArea();
} }
@Override
protected void shutDown() throws Exception
{
overlayManager.remove(overlay);
overlayManager.remove(minimapOverlay);
}
private void updateTrailData() private void updateTrailData()
{ {
currentTrail = null; currentTrail = null;

View File

@@ -48,7 +48,7 @@ import net.runelite.client.Notifier;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
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.util.QueryRunner; import net.runelite.client.ui.overlay.OverlayManager;
@Slf4j @Slf4j
@PluginDescriptor( @PluginDescriptor(
@@ -60,10 +60,9 @@ public class HunterPlugin extends Plugin
private Client client; private Client client;
@Inject @Inject
private QueryRunner queryRunner; private OverlayManager overlayManager;
@Inject @Inject
@Getter
private TrapOverlay overlay; private TrapOverlay overlay;
@Inject @Inject
@@ -89,12 +88,14 @@ public class HunterPlugin extends Plugin
@Override @Override
protected void startUp() protected void startUp()
{ {
overlayManager.add(overlay);
overlay.updateConfig(); overlay.updateConfig();
} }
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.remove(overlay);
lastActionTime = Instant.ofEpochMilli(0); lastActionTime = Instant.ofEpochMilli(0);
traps.clear(); traps.clear();
} }

View File

@@ -28,8 +28,6 @@ import com.google.common.eventbus.Subscribe;
import com.google.inject.Provides; import com.google.inject.Provides;
import java.awt.Color; import java.awt.Color;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.List; import java.util.List;
import javax.inject.Inject; import javax.inject.Inject;
import lombok.AccessLevel; import lombok.AccessLevel;
@@ -42,8 +40,7 @@ import net.runelite.api.events.NpcSpawned;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
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.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
import net.runelite.client.util.QueryRunner;
/** /**
* @author robin * @author robin
@@ -56,6 +53,9 @@ public class ImplingsPlugin extends Plugin
@Getter(AccessLevel.PACKAGE) @Getter(AccessLevel.PACKAGE)
private final List<NPC> implings = new ArrayList<>(); private final List<NPC> implings = new ArrayList<>();
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private ImplingsOverlay overlay; private ImplingsOverlay overlay;
@@ -65,19 +65,25 @@ public class ImplingsPlugin extends Plugin
@Inject @Inject
private ImplingsConfig config; private ImplingsConfig config;
@Inject
private QueryRunner queryRunner;
@Provides @Provides
ImplingsConfig getConfig(ConfigManager configManager) ImplingsConfig getConfig(ConfigManager configManager)
{ {
return configManager.getConfig(ImplingsConfig.class); return configManager.getConfig(ImplingsConfig.class);
} }
@Override @Override
public Collection<Overlay> getOverlays() protected void startUp() throws Exception
{ {
return Arrays.asList(overlay, minimapOverlay); overlayManager.add(overlay);
overlayManager.add(minimapOverlay);
}
@Override
protected void shutDown() throws Exception
{
overlayManager.remove(overlay);
overlayManager.remove(minimapOverlay);
} }
@Subscribe @Subscribe

View File

@@ -37,7 +37,7 @@ import net.runelite.client.menus.MenuManager;
import net.runelite.client.menus.WidgetMenuOption; import net.runelite.client.menus.WidgetMenuOption;
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.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
@PluginDescriptor( @PluginDescriptor(
name = "Instance Map" name = "Instance Map"
@@ -49,6 +49,9 @@ public class InstanceMapPlugin extends Plugin
@Inject @Inject
private InstanceMapInputListener inputListener; private InstanceMapInputListener inputListener;
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private InstanceMapOverlay overlay; private InstanceMapOverlay overlay;
@@ -80,6 +83,7 @@ public class InstanceMapPlugin extends Plugin
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
overlayManager.add(overlay);
addCustomOptions(); addCustomOptions();
keyManager.registerKeyListener(inputListener); keyManager.registerKeyListener(inputListener);
mouseManager.registerMouseListener(inputListener); mouseManager.registerMouseListener(inputListener);
@@ -89,6 +93,7 @@ public class InstanceMapPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.remove(overlay);
removeCustomOptions(); removeCustomOptions();
keyManager.unregisterKeyListener(inputListener); keyManager.unregisterKeyListener(inputListener);
mouseManager.registerMouseListener(inputListener); mouseManager.registerMouseListener(inputListener);
@@ -127,12 +132,6 @@ public class InstanceMapPlugin extends Plugin
} }
} }
@Override
public Overlay getOverlay()
{
return overlay;
}
public void showMap() public void showMap()
{ {
overlay.setShowMap(true); overlay.setShowMap(true);

View File

@@ -24,22 +24,25 @@
*/ */
package net.runelite.client.plugins.itemcharges; package net.runelite.client.plugins.itemcharges;
import javax.inject.Inject;
import net.runelite.api.ChatMessageType;
import net.runelite.client.plugins.Plugin;
import net.runelite.client.ui.overlay.Overlay;
import com.google.common.eventbus.Subscribe; import com.google.common.eventbus.Subscribe;
import com.google.inject.Provides; import com.google.inject.Provides;
import javax.inject.Inject;
import net.runelite.api.ChatMessageType;
import net.runelite.api.events.ChatMessage; import net.runelite.api.events.ChatMessage;
import net.runelite.client.Notifier; import net.runelite.client.Notifier;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.overlay.OverlayManager;
@PluginDescriptor( @PluginDescriptor(
name = "Item Charges" name = "Item Charges"
) )
public class ItemChargePlugin extends Plugin public class ItemChargePlugin extends Plugin
{ {
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private ItemChargeOverlay overlay; private ItemChargeOverlay overlay;
@@ -49,18 +52,24 @@ public class ItemChargePlugin extends Plugin
@Inject @Inject
private ItemChargeConfig config; private ItemChargeConfig config;
@Override
public Overlay getOverlay()
{
return overlay;
}
@Provides @Provides
ItemChargeConfig getConfig(ConfigManager configManager) ItemChargeConfig getConfig(ConfigManager configManager)
{ {
return configManager.getConfig(ItemChargeConfig.class); return configManager.getConfig(ItemChargeConfig.class);
} }
@Override
protected void startUp() throws Exception
{
overlayManager.add(overlay);
}
@Override
protected void shutDown() throws Exception
{
overlayManager.remove(overlay);
}
@Subscribe @Subscribe
public void onChatMessage(ChatMessage event) public void onChatMessage(ChatMessage event)
{ {

View File

@@ -29,7 +29,7 @@ import javax.inject.Inject;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
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.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
@PluginDescriptor( @PluginDescriptor(
name = "Item Prices", name = "Item Prices",
@@ -38,7 +38,8 @@ import net.runelite.client.ui.overlay.Overlay;
public class ItemPricesPlugin extends Plugin public class ItemPricesPlugin extends Plugin
{ {
@Inject @Inject
private ItemPricesConfig config; private OverlayManager overlayManager;
@Inject @Inject
private ItemPricesOverlay overlay; private ItemPricesOverlay overlay;
@@ -49,8 +50,14 @@ public class ItemPricesPlugin extends Plugin
} }
@Override @Override
public Overlay getOverlay() protected void startUp() throws Exception
{ {
return overlay; overlayManager.add(overlay);
}
@Override
protected void shutDown() throws Exception
{
overlayManager.remove(overlay);
} }
} }

View File

@@ -29,13 +29,16 @@ import com.google.inject.Provides;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
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.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
@PluginDescriptor( @PluginDescriptor(
name = "Item Stats" name = "Item Stats"
) )
public class ItemStatPlugin extends Plugin public class ItemStatPlugin extends Plugin
{ {
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private ItemStatOverlay overlay; private ItemStatOverlay overlay;
@@ -46,8 +49,14 @@ public class ItemStatPlugin extends Plugin
} }
@Override @Override
public Overlay getOverlay() protected void startUp() throws Exception
{ {
return overlay; overlayManager.add(overlay);
}
@Override
protected void shutDown() throws Exception
{
overlayManager.remove(overlay);
} }
} }

View File

@@ -47,7 +47,7 @@ import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.NavigationButton; import net.runelite.client.ui.NavigationButton;
import net.runelite.client.ui.PluginToolbar; import net.runelite.client.ui.PluginToolbar;
import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
@PluginDescriptor( @PluginDescriptor(
name = "Kourend Library" name = "Kourend Library"
@@ -66,6 +66,9 @@ public class KourendLibraryPlugin extends Plugin
@Inject @Inject
private Library library; private Library library;
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private KourendLibraryOverlay overlay; private KourendLibraryOverlay overlay;
@@ -81,6 +84,7 @@ public class KourendLibraryPlugin extends Plugin
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
overlayManager.add(overlay);
Book.fillImages(itemManager); Book.fillImages(itemManager);
panel = injector.getInstance(KourendLibraryPanel.class); panel = injector.getInstance(KourendLibraryPanel.class);
@@ -105,15 +109,10 @@ public class KourendLibraryPlugin extends Plugin
@Override @Override
protected void shutDown() protected void shutDown()
{ {
overlayManager.remove(overlay);
pluginToolbar.removeNavigation(navButton); pluginToolbar.removeNavigation(navButton);
} }
@Override
public Overlay getOverlay()
{
return overlay;
}
@Subscribe @Subscribe
private void onMenuOptionClicked(MenuOptionClicked menuOpt) private void onMenuOptionClicked(MenuOptionClicked menuOpt)
{ {

View File

@@ -32,8 +32,6 @@ import com.google.inject.Provides;
import java.time.Duration; import java.time.Duration;
import java.time.Instant; import java.time.Instant;
import java.time.temporal.ChronoUnit; import java.time.temporal.ChronoUnit;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
import javax.inject.Inject; import javax.inject.Inject;
@@ -72,7 +70,7 @@ import net.runelite.client.config.ConfigManager;
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.task.Schedule; import net.runelite.client.task.Schedule;
import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
@PluginDescriptor( @PluginDescriptor(
name = "Motherlode Mine", name = "Motherlode Mine",
@@ -91,6 +89,9 @@ public class MotherlodePlugin extends Plugin
private static final int UPPER_FLOOR_HEIGHT = -500; private static final int UPPER_FLOOR_HEIGHT = -500;
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private MotherlodeOverlay overlay; private MotherlodeOverlay overlay;
@@ -132,15 +133,14 @@ public class MotherlodePlugin extends Plugin
return configManager.getConfig(MotherlodeConfig.class); return configManager.getConfig(MotherlodeConfig.class);
} }
@Override
public Collection<Overlay> getOverlays()
{
return Arrays.asList(overlay, rocksOverlay, motherlodeSackOverlay, motherlodeGemOverlay);
}
@Override @Override
protected void startUp() protected void startUp()
{ {
overlayManager.add(overlay);
overlayManager.add(rocksOverlay);
overlayManager.add(motherlodeGemOverlay);
overlayManager.add(motherlodeSackOverlay);
session = new MotherlodeSession(); session = new MotherlodeSession();
inMlm = checkInMlm(); inMlm = checkInMlm();
@@ -153,6 +153,10 @@ public class MotherlodePlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.remove(overlay);
overlayManager.remove(rocksOverlay);
overlayManager.remove(motherlodeGemOverlay);
overlayManager.remove(motherlodeSackOverlay);
session = null; session = null;
veins.clear(); veins.clear();
rocks.clear(); rocks.clear();

View File

@@ -29,13 +29,16 @@ import javax.inject.Inject;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
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.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
@PluginDescriptor( @PluginDescriptor(
name = "Mouse Tooltips" name = "Mouse Tooltips"
) )
public class MouseHighlightPlugin extends Plugin public class MouseHighlightPlugin extends Plugin
{ {
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private MouseHighlightOverlay overlay; private MouseHighlightOverlay overlay;
@@ -46,8 +49,14 @@ public class MouseHighlightPlugin extends Plugin
} }
@Override @Override
public Overlay getOverlay() protected void startUp() throws Exception
{ {
return overlay; overlayManager.add(overlay);
}
@Override
protected void shutDown() throws Exception
{
overlayManager.remove(overlay);
} }
} }

View File

@@ -39,7 +39,7 @@ import net.runelite.client.Notifier;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
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.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
import net.runelite.client.util.Text; import net.runelite.client.util.Text;
@PluginDescriptor( @PluginDescriptor(
@@ -53,6 +53,9 @@ public class NightmareZonePlugin extends Plugin
@Inject @Inject
private Client client; private Client client;
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private NightmareZoneConfig config; private NightmareZoneConfig config;
@@ -64,8 +67,16 @@ public class NightmareZonePlugin extends Plugin
private boolean absorptionNotificationSend = true; private boolean absorptionNotificationSend = true;
@Override @Override
protected void shutDown() protected void startUp() throws Exception
{ {
overlayManager.add(overlay);
overlay.removeAbsorptionCounter();
}
@Override
protected void shutDown() throws Exception
{
overlayManager.remove(overlay);
overlay.removeAbsorptionCounter(); overlay.removeAbsorptionCounter();
} }
@@ -81,12 +92,6 @@ public class NightmareZonePlugin extends Plugin
return configManager.getConfig(NightmareZoneConfig.class); return configManager.getConfig(NightmareZoneConfig.class);
} }
@Override
public Overlay getOverlay()
{
return overlay;
}
@Subscribe @Subscribe
public void onGameTick(GameTick event) public void onGameTick(GameTick event)
{ {

View File

@@ -30,8 +30,6 @@ import com.google.common.eventbus.Subscribe;
import com.google.inject.Provides; import com.google.inject.Provides;
import java.time.Instant; import java.time.Instant;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections; import java.util.Collections;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
@@ -62,7 +60,7 @@ import net.runelite.client.input.KeyManager;
import net.runelite.client.menus.MenuManager; import net.runelite.client.menus.MenuManager;
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.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
import net.runelite.client.util.WildcardMatcher; import net.runelite.client.util.WildcardMatcher;
@PluginDescriptor(name = "NPC Indicators") @PluginDescriptor(name = "NPC Indicators")
@@ -85,6 +83,9 @@ public class NpcIndicatorsPlugin extends Plugin
@Inject @Inject
private NpcIndicatorsConfig config; private NpcIndicatorsConfig config;
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private NpcSceneOverlay npcSceneOverlay; private NpcSceneOverlay npcSceneOverlay;
@@ -174,6 +175,8 @@ public class NpcIndicatorsPlugin extends Plugin
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
overlayManager.add(npcSceneOverlay);
overlayManager.add(npcMinimapOverlay);
keyManager.registerKeyListener(inputListener); keyManager.registerKeyListener(inputListener);
highlights = getHighlights(); highlights = getHighlights();
clientThread.invokeLater(() -> clientThread.invokeLater(() ->
@@ -186,6 +189,8 @@ public class NpcIndicatorsPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.remove(npcSceneOverlay);
overlayManager.remove(npcMinimapOverlay);
deadNpcsToDisplay.clear(); deadNpcsToDisplay.clear();
memorizedNpcs.clear(); memorizedNpcs.clear();
spawnedNpcsThisTick.clear(); spawnedNpcsThisTick.clear();
@@ -321,12 +326,6 @@ public class NpcIndicatorsPlugin extends Plugin
lastPlayerLocation = client.getLocalPlayer().getWorldLocation(); lastPlayerLocation = client.getLocalPlayer().getWorldLocation();
} }
@Override
public Collection<Overlay> getOverlays()
{
return Arrays.asList(npcSceneOverlay, npcMinimapOverlay);
}
private static boolean isInViewRange(WorldPoint wp1, WorldPoint wp2) private static boolean isInViewRange(WorldPoint wp1, WorldPoint wp2)
{ {
int distance = wp1.distanceTo(wp2); int distance = wp1.distanceTo(wp2);

View File

@@ -41,7 +41,7 @@ import net.runelite.api.WorldType;
import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameStateChanged;
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.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
import net.runelite.http.api.hiscore.HiscoreEndpoint; import net.runelite.http.api.hiscore.HiscoreEndpoint;
@PluginDescriptor( @PluginDescriptor(
@@ -52,6 +52,9 @@ public class OpponentInfoPlugin extends Plugin
@Inject @Inject
private Client client; private Client client;
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private OpponentInfoOverlay overlay; private OpponentInfoOverlay overlay;
@@ -59,9 +62,15 @@ public class OpponentInfoPlugin extends Plugin
private HiscoreEndpoint hiscoreEndpoint = HiscoreEndpoint.NORMAL; private HiscoreEndpoint hiscoreEndpoint = HiscoreEndpoint.NORMAL;
@Override @Override
public Overlay getOverlay() protected void startUp() throws Exception
{ {
return overlay; overlayManager.add(overlay);
}
@Override
protected void shutDown() throws Exception
{
overlayManager.remove(overlay);
} }
@Subscribe @Subscribe

View File

@@ -27,19 +27,28 @@ package net.runelite.client.plugins.pestcontrol;
import javax.inject.Inject; import javax.inject.Inject;
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.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
@PluginDescriptor( @PluginDescriptor(
name = "Pest Control" name = "Pest Control"
) )
public class PestControlPlugin extends Plugin public class PestControlPlugin extends Plugin
{ {
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private PestControlOverlay overlay; private PestControlOverlay overlay;
@Override @Override
public Overlay getOverlay() protected void startUp() throws Exception
{ {
return overlay; overlayManager.add(overlay);
}
@Override
protected void shutDown() throws Exception
{
overlayManager.remove(overlay);
} }
} }

View File

@@ -24,27 +24,14 @@
*/ */
package net.runelite.client.plugins.playerindicators; package net.runelite.client.plugins.playerindicators;
import com.google.common.collect.Sets;
import com.google.common.eventbus.Subscribe; import com.google.common.eventbus.Subscribe;
import com.google.inject.Provides; import com.google.inject.Provides;
import java.awt.Color; import java.awt.Color;
import java.util.Collection;
import javax.inject.Inject; import javax.inject.Inject;
import net.runelite.api.ClanMemberRank; import net.runelite.api.ClanMemberRank;
import static net.runelite.api.ClanMemberRank.UNRANKED; import static net.runelite.api.ClanMemberRank.UNRANKED;
import net.runelite.api.Client; import net.runelite.api.Client;
import static net.runelite.api.MenuAction.FOLLOW; import static net.runelite.api.MenuAction.*;
import static net.runelite.api.MenuAction.ITEM_USE_ON_PLAYER;
import static net.runelite.api.MenuAction.PLAYER_EIGTH_OPTION;
import static net.runelite.api.MenuAction.PLAYER_FIFTH_OPTION;
import static net.runelite.api.MenuAction.PLAYER_FIRST_OPTION;
import static net.runelite.api.MenuAction.PLAYER_FOURTH_OPTION;
import static net.runelite.api.MenuAction.PLAYER_SECOND_OPTION;
import static net.runelite.api.MenuAction.PLAYER_SEVENTH_OPTION;
import static net.runelite.api.MenuAction.PLAYER_SIXTH_OPTION;
import static net.runelite.api.MenuAction.PLAYER_THIRD_OPTION;
import static net.runelite.api.MenuAction.SPELL_CAST_ON_PLAYER;
import static net.runelite.api.MenuAction.TRADE;
import net.runelite.api.MenuEntry; import net.runelite.api.MenuEntry;
import net.runelite.api.Player; import net.runelite.api.Player;
import net.runelite.api.events.MenuEntryAdded; import net.runelite.api.events.MenuEntryAdded;
@@ -52,13 +39,16 @@ import net.runelite.client.config.ConfigManager;
import net.runelite.client.game.ClanManager; import net.runelite.client.game.ClanManager;
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.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
@PluginDescriptor( @PluginDescriptor(
name = "Player Indicators" name = "Player Indicators"
) )
public class PlayerIndicatorsPlugin extends Plugin public class PlayerIndicatorsPlugin extends Plugin
{ {
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private PlayerIndicatorsConfig config; private PlayerIndicatorsConfig config;
@@ -81,9 +71,17 @@ public class PlayerIndicatorsPlugin extends Plugin
} }
@Override @Override
public Collection<Overlay> getOverlays() protected void startUp() throws Exception
{ {
return Sets.newHashSet(playerIndicatorsOverlay, playerIndicatorsMinimapOverlay); overlayManager.add(playerIndicatorsOverlay);
overlayManager.add(playerIndicatorsMinimapOverlay);
}
@Override
protected void shutDown() throws Exception
{
overlayManager.remove(playerIndicatorsOverlay);
overlayManager.remove(playerIndicatorsMinimapOverlay);
} }
@Subscribe @Subscribe

View File

@@ -27,8 +27,6 @@ package net.runelite.client.plugins.poh;
import com.google.common.collect.Sets; import com.google.common.collect.Sets;
import com.google.common.eventbus.Subscribe; import com.google.common.eventbus.Subscribe;
import com.google.inject.Provides; import com.google.inject.Provides;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
@@ -55,7 +53,7 @@ import net.runelite.api.events.GameStateChanged;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
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.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
@PluginDescriptor( @PluginDescriptor(
name = "Player-owned House" name = "Player-owned House"
@@ -68,6 +66,9 @@ public class PohPlugin extends Plugin
@Getter(AccessLevel.PACKAGE) @Getter(AccessLevel.PACKAGE)
private final Map<TileObject, Tile> pohObjects = new HashMap<>(); private final Map<TileObject, Tile> pohObjects = new HashMap<>();
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private PohOverlay overlay; private PohOverlay overlay;
@@ -80,21 +81,19 @@ public class PohPlugin extends Plugin
return configManager.getConfig(PohConfig.class); return configManager.getConfig(PohConfig.class);
} }
@Override
public Collection<Overlay> getOverlays()
{
return Arrays.asList(overlay, burnerOverlay);
}
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
overlayManager.add(overlay);
overlayManager.add(burnerOverlay);
overlay.updateConfig(); overlay.updateConfig();
} }
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.remove(overlay);
overlayManager.remove(burnerOverlay);
pohObjects.clear(); pohObjects.clear();
} }

View File

@@ -36,7 +36,7 @@ import net.runelite.client.config.ConfigManager;
import net.runelite.client.game.SpriteManager; import net.runelite.client.game.SpriteManager;
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.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
import net.runelite.client.ui.overlay.infobox.InfoBoxManager; import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
@PluginDescriptor( @PluginDescriptor(
@@ -55,6 +55,9 @@ public class PrayerPlugin extends Plugin
@Inject @Inject
private SpriteManager spriteManager; private SpriteManager spriteManager;
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private PrayerFlickOverlay overlay; private PrayerFlickOverlay overlay;
@@ -68,15 +71,16 @@ public class PrayerPlugin extends Plugin
} }
@Override @Override
protected void shutDown() protected void startUp()
{ {
removeIndicators(); overlayManager.add(overlay);
} }
@Override @Override
public Overlay getOverlay() protected void shutDown()
{ {
return overlay; overlayManager.remove(overlay);
removeIndicators();
} }
@Subscribe @Subscribe

View File

@@ -26,11 +26,11 @@
package net.runelite.client.plugins.puzzlesolver; package net.runelite.client.plugins.puzzlesolver;
import com.google.inject.Provides; import com.google.inject.Provides;
import java.util.concurrent.ScheduledExecutorService;
import javax.inject.Inject; import javax.inject.Inject;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
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.ui.overlay.OverlayManager;
@PluginDescriptor( @PluginDescriptor(
name = "Puzzle Solver" name = "Puzzle Solver"
@@ -38,10 +38,10 @@ import net.runelite.client.plugins.PluginDescriptor;
public class PuzzleSolverPlugin extends Plugin public class PuzzleSolverPlugin extends Plugin
{ {
@Inject @Inject
private PuzzleSolverOverlay puzzleSolverOverlay; private OverlayManager overlayManager;
@Inject @Inject
private ScheduledExecutorService executorService; private PuzzleSolverOverlay overlay;
@Provides @Provides
PuzzleSolverConfig provideConfig(ConfigManager configManager) PuzzleSolverConfig provideConfig(ConfigManager configManager)
@@ -50,8 +50,14 @@ public class PuzzleSolverPlugin extends Plugin
} }
@Override @Override
public PuzzleSolverOverlay getOverlay() protected void startUp() throws Exception
{ {
return puzzleSolverOverlay; overlayManager.add(overlay);
}
@Override
protected void shutDown() throws Exception
{
overlayManager.remove(overlay);
} }
} }

View File

@@ -33,7 +33,6 @@ import java.text.DecimalFormat;
import java.time.Instant; import java.time.Instant;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import javax.imageio.ImageIO; import javax.imageio.ImageIO;
@@ -66,7 +65,7 @@ import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.raids.solver.Layout; import net.runelite.client.plugins.raids.solver.Layout;
import net.runelite.client.plugins.raids.solver.LayoutSolver; 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.Overlay; 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.Text; import net.runelite.client.util.Text;
@@ -81,7 +80,7 @@ public class RaidsPlugin extends Plugin
private static final String LEVEL_COMPLETE_MESSAGE = "level complete!"; private static final String LEVEL_COMPLETE_MESSAGE = "level complete!";
private static final String RAID_COMPLETE_MESSAGE = "Congratulations - your raid is complete!"; private static final String RAID_COMPLETE_MESSAGE = "Congratulations - your raid is complete!";
private static final DecimalFormat DECIMAL_FORMAT = new DecimalFormat("###.##"); private static final DecimalFormat DECIMAL_FORMAT = new DecimalFormat("###.##");
public static final DecimalFormat POINTS_FORMAT = new DecimalFormat("#,###"); static final DecimalFormat POINTS_FORMAT = new DecimalFormat("#,###");
private static final String SPLIT_REGEX = "\\s*,\\s*"; private static final String SPLIT_REGEX = "\\s*,\\s*";
private static final Pattern ROTATION_REGEX = Pattern.compile("\\[(.*?)\\]"); private static final Pattern ROTATION_REGEX = Pattern.compile("\\[(.*?)\\]");
@@ -103,6 +102,9 @@ public class RaidsPlugin extends Plugin
@Inject @Inject
private RaidsConfig config; private RaidsConfig config;
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private RaidsOverlay overlay; private RaidsOverlay overlay;
@@ -139,15 +141,12 @@ public class RaidsPlugin extends Plugin
binder.bind(RaidsOverlay.class); binder.bind(RaidsOverlay.class);
} }
@Override
public List<Overlay> getOverlays()
{
return Arrays.asList(overlay, pointsOverlay);
}
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
overlayManager.add(overlay);
overlayManager.add(pointsOverlay);
if (client.getGameState() == GameState.LOGGED_IN) if (client.getGameState() == GameState.LOGGED_IN)
{ {
inRaidChambers = client.getVar(Varbits.IN_RAID) == 1; inRaidChambers = client.getVar(Varbits.IN_RAID) == 1;
@@ -160,6 +159,9 @@ public class RaidsPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.remove(overlay);
overlayManager.remove(pointsOverlay);
if (timer != null) if (timer != null)
{ {
infoBoxManager.removeInfoBox(timer); infoBoxManager.removeInfoBox(timer);

View File

@@ -33,15 +33,15 @@ import lombok.Getter;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.GameState; import net.runelite.api.GameState;
import net.runelite.api.Prayer; import net.runelite.api.Prayer;
import net.runelite.api.VarPlayer;
import net.runelite.api.Skill; import net.runelite.api.Skill;
import net.runelite.api.VarPlayer;
import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.GameTick; import net.runelite.api.events.GameTick;
import net.runelite.api.events.VarbitChanged; import net.runelite.api.events.VarbitChanged;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
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.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
@PluginDescriptor(name = "Regeneration Meter") @PluginDescriptor(name = "Regeneration Meter")
public class RegenMeterPlugin extends Plugin public class RegenMeterPlugin extends Plugin
@@ -49,34 +49,27 @@ public class RegenMeterPlugin extends Plugin
private static final int SPEC_REGEN_TICKS = 50; private static final int SPEC_REGEN_TICKS = 50;
private static final int NORMAL_HP_REGEN_TICKS = 100; private static final int NORMAL_HP_REGEN_TICKS = 100;
@Inject
private RegenMeterOverlay overlay;
@Inject @Inject
private Client client; private Client client;
@Inject @Inject
RegenMeterConfig config; private OverlayManager overlayManager;
@Inject
private RegenMeterOverlay overlay;
private int ticksSinceHPRegen; @Inject
private RegenMeterConfig config;
private boolean wasRapidHeal;
@Getter @Getter
private double hitpointsPercentage; private double hitpointsPercentage;
private int ticksSinceSpecRegen;
@Getter @Getter
private double specialPercentage; private double specialPercentage;
@Override private int ticksSinceSpecRegen;
public Overlay getOverlay() private int ticksSinceHPRegen;
{ private boolean wasRapidHeal;
return overlay;
}
@Provides @Provides
RegenMeterConfig provideConfig(ConfigManager configManager) RegenMeterConfig provideConfig(ConfigManager configManager)
@@ -84,6 +77,18 @@ public class RegenMeterPlugin extends Plugin
return configManager.getConfig(RegenMeterConfig.class); return configManager.getConfig(RegenMeterConfig.class);
} }
@Override
protected void startUp() throws Exception
{
overlayManager.add(overlay);
}
@Override
protected void shutDown() throws Exception
{
overlayManager.remove(overlay);
}
@Subscribe @Subscribe
private void onGameStateChanged(GameStateChanged ev) private void onGameStateChanged(GameStateChanged ev)
{ {

View File

@@ -49,6 +49,7 @@ import net.runelite.api.events.GroundObjectSpawned;
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.task.Schedule; import net.runelite.client.task.Schedule;
import net.runelite.client.ui.overlay.OverlayManager;
@PluginDescriptor( @PluginDescriptor(
name = "Rogues' Den" name = "Rogues' Den"
@@ -69,12 +70,21 @@ public class RoguesDenPlugin extends Plugin
private Client client; private Client client;
@Inject @Inject
@Getter private OverlayManager overlayManager;
@Inject
private RoguesDenOverlay overlay; private RoguesDenOverlay overlay;
@Override @Override
protected void shutDown() protected void startUp() throws Exception
{ {
overlayManager.add(overlay);
}
@Override
protected void shutDown() throws Exception
{
overlayManager.remove(overlay);
obstaclesHull.clear(); obstaclesHull.clear();
obstaclesTile.clear(); obstaclesTile.clear();
hasGem = false; hasGem = false;

View File

@@ -26,8 +26,6 @@ package net.runelite.client.plugins.runecraft;
import com.google.common.eventbus.Subscribe; import com.google.common.eventbus.Subscribe;
import com.google.inject.Provides; import com.google.inject.Provides;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
import java.util.regex.Matcher; import java.util.regex.Matcher;
@@ -35,7 +33,15 @@ import java.util.regex.Pattern;
import javax.inject.Inject; import javax.inject.Inject;
import lombok.AccessLevel; import lombok.AccessLevel;
import lombok.Getter; import lombok.Getter;
import net.runelite.api.*; import net.runelite.api.ChatMessageType;
import net.runelite.api.DecorativeObject;
import net.runelite.api.GameState;
import net.runelite.api.InventoryID;
import net.runelite.api.Item;
import net.runelite.api.ItemID;
import net.runelite.api.NPC;
import net.runelite.api.NpcID;
import net.runelite.api.Query;
import net.runelite.api.events.ChatMessage; import net.runelite.api.events.ChatMessage;
import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.DecorativeObjectDespawned; import net.runelite.api.events.DecorativeObjectDespawned;
@@ -47,7 +53,7 @@ import net.runelite.api.queries.NPCQuery;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
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.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
import net.runelite.client.util.QueryRunner; import net.runelite.client.util.QueryRunner;
@PluginDescriptor( @PluginDescriptor(
@@ -66,6 +72,9 @@ public class RunecraftPlugin extends Plugin
@Getter(AccessLevel.PACKAGE) @Getter(AccessLevel.PACKAGE)
private NPC darkMage; private NPC darkMage;
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private RunecraftOverlay overlay; private RunecraftOverlay overlay;
@@ -87,21 +96,21 @@ public class RunecraftPlugin extends Plugin
return configManager.getConfig(RunecraftConfig.class); return configManager.getConfig(RunecraftConfig.class);
} }
@Override
public Collection<Overlay> getOverlays()
{
return Arrays.asList(overlay, bindNeckOverlay, abyssOverlay);
}
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
overlayManager.add(overlay);
overlayManager.add(bindNeckOverlay);
overlayManager.add(abyssOverlay);
abyssOverlay.updateConfig(); abyssOverlay.updateConfig();
} }
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.remove(overlay);
overlayManager.remove(bindNeckOverlay);
overlayManager.remove(abyssOverlay);
abyssObjects.clear(); abyssObjects.clear();
darkMage = null; darkMage = null;
degradedPouchInInventory = false; degradedPouchInInventory = false;

View File

@@ -29,7 +29,7 @@ import javax.inject.Inject;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
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.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
@PluginDescriptor( @PluginDescriptor(
name = "Rune Pouch" name = "Rune Pouch"
@@ -37,7 +37,7 @@ import net.runelite.client.ui.overlay.Overlay;
public class RunepouchPlugin extends Plugin public class RunepouchPlugin extends Plugin
{ {
@Inject @Inject
private ConfigManager configManager; private OverlayManager overlayManager;
@Inject @Inject
private RunepouchOverlay overlay; private RunepouchOverlay overlay;
@@ -49,8 +49,14 @@ public class RunepouchPlugin extends Plugin
} }
@Override @Override
public Overlay getOverlay() protected void startUp() throws Exception
{ {
return overlay; overlayManager.add(overlay);
}
@Override
protected void shutDown() throws Exception
{
overlayManager.remove(overlay);
} }
} }

View File

@@ -36,7 +36,6 @@ import java.awt.Rectangle;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import java.time.Instant; import java.time.Instant;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream; import java.util.stream.Stream;
@@ -53,8 +52,7 @@ import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.screenmarkers.ui.ScreenMarkerPluginPanel; import net.runelite.client.plugins.screenmarkers.ui.ScreenMarkerPluginPanel;
import net.runelite.client.ui.NavigationButton; import net.runelite.client.ui.NavigationButton;
import net.runelite.client.ui.PluginToolbar; import net.runelite.client.ui.PluginToolbar;
import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
import net.runelite.client.ui.overlay.OverlayRenderer;
@PluginDescriptor( @PluginDescriptor(
name = "Screen Markers" name = "Screen Markers"
@@ -82,10 +80,10 @@ public class ScreenMarkerPlugin extends Plugin
private PluginToolbar pluginToolbar; private PluginToolbar pluginToolbar;
@Inject @Inject
private ScreenMarkerCreationOverlay overlay; private OverlayManager overlayManager;
@Inject @Inject
private OverlayRenderer overlayRenderer; private ScreenMarkerCreationOverlay overlay;
private ScreenMarkerMouseListener mouseListener; private ScreenMarkerMouseListener mouseListener;
private ScreenMarkerPluginPanel pluginPanel; private ScreenMarkerPluginPanel pluginPanel;
@@ -98,20 +96,12 @@ public class ScreenMarkerPlugin extends Plugin
private boolean creatingScreenMarker = false; private boolean creatingScreenMarker = false;
private Point startLocation = null; private Point startLocation = null;
@Override
public Collection<Overlay> getOverlays()
{
final List<Overlay> overlays = new ArrayList<>();
overlays.add(overlay);
overlays.addAll(screenMarkers);
return overlays;
}
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
overlayManager.add(overlay);
loadConfig(configManager.getConfiguration(CONFIG_GROUP, CONFIG_KEY)).forEach(screenMarkers::add); loadConfig(configManager.getConfiguration(CONFIG_GROUP, CONFIG_KEY)).forEach(screenMarkers::add);
overlayRenderer.rebuildOverlays(); screenMarkers.forEach(overlayManager::add);
pluginPanel = injector.getInstance(ScreenMarkerPluginPanel.class); pluginPanel = injector.getInstance(ScreenMarkerPluginPanel.class);
pluginPanel.init(); pluginPanel.init();
@@ -137,10 +127,12 @@ public class ScreenMarkerPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.remove(overlay);
overlayManager.removeIf(ScreenMarkerOverlay.class::isInstance);
screenMarkers.clear();;
pluginToolbar.removeNavigation(navigationButton); pluginToolbar.removeNavigation(navigationButton);
setMouseListenerEnabled(false); setMouseListenerEnabled(false);
creatingScreenMarker = false; creatingScreenMarker = false;
screenMarkers.clear();
pluginPanel = null; pluginPanel = null;
currentMarker = null; currentMarker = null;
@@ -154,7 +146,8 @@ public class ScreenMarkerPlugin extends Plugin
if (screenMarkers.isEmpty() && event.getGroup().equals(CONFIG_GROUP) && event.getKey().equals(CONFIG_KEY)) if (screenMarkers.isEmpty() && event.getGroup().equals(CONFIG_GROUP) && event.getKey().equals(CONFIG_KEY))
{ {
loadConfig(event.getNewValue()).forEach(screenMarkers::add); loadConfig(event.getNewValue()).forEach(screenMarkers::add);
overlayRenderer.rebuildOverlays(); overlayManager.removeIf(ScreenMarkerOverlay.class::isInstance);
screenMarkers.forEach(overlayManager::add);
} }
} }
@@ -197,10 +190,10 @@ public class ScreenMarkerPlugin extends Plugin
screenMarkerOverlay.setPreferredSize(overlay.getBounds().getSize()); screenMarkerOverlay.setPreferredSize(overlay.getBounds().getSize());
screenMarkers.add(screenMarkerOverlay); screenMarkers.add(screenMarkerOverlay);
overlayManager.add(screenMarkerOverlay);
overlayManager.saveOverlay(screenMarkerOverlay);
pluginPanel.rebuild(); pluginPanel.rebuild();
updateConfig(); updateConfig();
overlayRenderer.saveOverlay(screenMarkerOverlay);
overlayRenderer.rebuildOverlays();
} }
creatingScreenMarker = false; creatingScreenMarker = false;
@@ -219,11 +212,11 @@ public class ScreenMarkerPlugin extends Plugin
public void deleteMarker(final ScreenMarkerOverlay marker) public void deleteMarker(final ScreenMarkerOverlay marker)
{ {
overlayRenderer.resetOverlay(marker);
screenMarkers.remove(marker); screenMarkers.remove(marker);
overlayManager.remove(marker);
overlayManager.resetOverlay(marker);
pluginPanel.rebuild(); pluginPanel.rebuild();
updateConfig(); updateConfig();
overlayRenderer.rebuildOverlays();
} }
void resizeMarker(Point point) void resizeMarker(Point point)

View File

@@ -81,7 +81,7 @@ import net.runelite.client.ui.ClientUI;
import net.runelite.client.ui.DrawManager; import net.runelite.client.ui.DrawManager;
import net.runelite.client.ui.NavigationButton; import net.runelite.client.ui.NavigationButton;
import net.runelite.client.ui.TitleToolbar; import net.runelite.client.ui.TitleToolbar;
import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
import net.runelite.client.util.Text; import net.runelite.client.util.Text;
import net.runelite.http.api.RuneLiteAPI; import net.runelite.http.api.RuneLiteAPI;
import okhttp3.Call; import okhttp3.Call;
@@ -126,6 +126,9 @@ public class ScreenshotPlugin extends Plugin
@Inject @Inject
private ScreenshotConfig config; private ScreenshotConfig config;
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private ScreenshotOverlay screenshotOverlay; private ScreenshotOverlay screenshotOverlay;
@@ -161,15 +164,10 @@ public class ScreenshotPlugin extends Plugin
return configManager.getConfig(ScreenshotConfig.class); return configManager.getConfig(ScreenshotConfig.class);
} }
@Override
public Overlay getOverlay()
{
return screenshotOverlay;
}
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
overlayManager.add(screenshotOverlay);
SCREENSHOT_DIR.mkdirs(); SCREENSHOT_DIR.mkdirs();
keyManager.registerKeyListener(inputListener); keyManager.registerKeyListener(inputListener);
@@ -213,6 +211,7 @@ public class ScreenshotPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.remove(screenshotOverlay);
titleToolbar.removeNavigation(titleBarButton); titleToolbar.removeNavigation(titleBarButton);
keyManager.unregisterKeyListener(inputListener); keyManager.unregisterKeyListener(inputListener);
} }

View File

@@ -69,7 +69,7 @@ import net.runelite.client.config.ConfigManager;
import net.runelite.client.game.ItemManager; import net.runelite.client.game.ItemManager;
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.ui.overlay.Overlay; 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.QueryRunner; import net.runelite.client.util.QueryRunner;
import net.runelite.client.util.Text; import net.runelite.client.util.Text;
@@ -112,6 +112,9 @@ public class SlayerPlugin extends Plugin
@Inject @Inject
private SlayerConfig config; private SlayerConfig config;
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private SlayerOverlay overlay; private SlayerOverlay overlay;
@@ -142,30 +145,46 @@ public class SlayerPlugin extends Plugin
@Getter(AccessLevel.PACKAGE) @Getter(AccessLevel.PACKAGE)
private Collection<WidgetItem> slayerItems = Collections.emptyList(); private Collection<WidgetItem> slayerItems = Collections.emptyList();
private String taskName; @Getter(AccessLevel.PACKAGE)
@Setter(AccessLevel.PACKAGE)
private int amount; private int amount;
private TaskCounter counter;
private int streak;
private int points;
private int cachedXp;
private Instant infoTimer;
private boolean loginFlag;
@Getter(AccessLevel.PACKAGE) @Getter(AccessLevel.PACKAGE)
@Setter(AccessLevel.PACKAGE) @Setter(AccessLevel.PACKAGE)
private int expeditiousChargeCount; private int expeditiousChargeCount;
@Getter(AccessLevel.PACKAGE) @Getter(AccessLevel.PACKAGE)
@Setter(AccessLevel.PACKAGE) @Setter(AccessLevel.PACKAGE)
private int slaughterChargeCount; private int slaughterChargeCount;
@Getter(AccessLevel.PACKAGE)
@Setter(AccessLevel.PACKAGE)
private String taskName;
@Getter(AccessLevel.PACKAGE)
private int streak;
@Getter(AccessLevel.PACKAGE)
private int points;
private TaskCounter counter;
private int cachedXp;
private Instant infoTimer;
private boolean loginFlag;
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
overlayManager.add(overlay);
overlayManager.add(targetClickboxOverlay);
overlayManager.add(targetMinimapOverlay);
if (client.getGameState() == GameState.LOGGED_IN if (client.getGameState() == GameState.LOGGED_IN
&& config.amount() != -1 && config.amount() != -1
&& !config.taskName().isEmpty()) && !config.taskName().isEmpty())
{ {
setPoints(config.points()); points = config.points();
setStreak(config.streak()); streak = config.streak();
setExpeditiousChargeCount(config.expeditious()); setExpeditiousChargeCount(config.expeditious());
setSlaughterChargeCount(config.slaughter()); setSlaughterChargeCount(config.slaughter());
clientThread.invokeLater(() -> setTask(config.taskName(), config.amount())); clientThread.invokeLater(() -> setTask(config.taskName(), config.amount()));
@@ -175,6 +194,9 @@ public class SlayerPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.remove(overlay);
overlayManager.remove(targetClickboxOverlay);
overlayManager.remove(targetMinimapOverlay);
removeCounter(); removeCounter();
} }
@@ -199,10 +221,10 @@ public class SlayerPlugin extends Plugin
case LOGGED_IN: case LOGGED_IN:
if (config.amount() != -1 if (config.amount() != -1
&& !config.taskName().isEmpty() && !config.taskName().isEmpty()
&& loginFlag == true) && loginFlag)
{ {
setPoints(config.points()); points = config.points();
setStreak(config.streak()); streak = config.streak();
setExpeditiousChargeCount(config.expeditious()); setExpeditiousChargeCount(config.expeditious());
setSlaughterChargeCount(config.slaughter()); setSlaughterChargeCount(config.slaughter());
setTask(config.taskName(), config.amount()); setTask(config.taskName(), config.amount());
@@ -572,53 +594,6 @@ public class SlayerPlugin extends Plugin
return composition; return composition;
} }
//Getters
@Override
public Collection<Overlay> getOverlays()
{
return Arrays.asList(overlay, targetClickboxOverlay, targetMinimapOverlay);
}
public String getTaskName()
{
return taskName;
}
void setTaskName(String taskName)
{
this.taskName = taskName;
}
public int getAmount()
{
return amount;
}
void setAmount(int amount)
{
this.amount = amount;
}
public int getStreak()
{
return streak;
}
void setStreak(int streak)
{
this.streak = streak;
}
public int getPoints()
{
return points;
}
void setPoints(int points)
{
this.points = points;
}
//Utils //Utils
private String capsString(String str) private String capsString(String str)
{ {

View File

@@ -24,6 +24,7 @@
*/ */
package net.runelite.client.plugins.teamcapes; package net.runelite.client.plugins.teamcapes;
import com.google.inject.Provides;
import java.time.temporal.ChronoUnit; import java.time.temporal.ChronoUnit;
import java.util.Comparator; import java.util.Comparator;
import java.util.HashMap; import java.util.HashMap;
@@ -32,7 +33,6 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import javax.inject.Inject; import javax.inject.Inject;
import com.google.inject.Provides;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.GameState; import net.runelite.api.GameState;
import net.runelite.api.Player; import net.runelite.api.Player;
@@ -40,7 +40,7 @@ import net.runelite.client.config.ConfigManager;
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.task.Schedule; import net.runelite.client.task.Schedule;
import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
@PluginDescriptor( @PluginDescriptor(
name = "Team Capes", name = "Team Capes",
@@ -52,10 +52,10 @@ public class TeamCapesPlugin extends Plugin
private Client client; private Client client;
@Inject @Inject
private TeamCapesConfig config; private OverlayManager overlayManager;
@Inject @Inject
private TeamCapesOverlay teamCapesOverlay; private TeamCapesOverlay overlay;
// Hashmap of team capes: Key is the teamCape #, Value is the count of teamcapes in the area. // Hashmap of team capes: Key is the teamCape #, Value is the count of teamcapes in the area.
private Map<Integer, Integer> teams = new HashMap<>(); private Map<Integer, Integer> teams = new HashMap<>();
@@ -67,14 +67,15 @@ public class TeamCapesPlugin extends Plugin
} }
@Override @Override
public Overlay getOverlay() protected void startUp() throws Exception
{ {
return teamCapesOverlay; overlayManager.add(overlay);
} }
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.remove(overlay);
teams.clear(); teams.clear();
} }

View File

@@ -27,6 +27,7 @@ package net.runelite.client.plugins.tileindicators;
import java.awt.Dimension; import java.awt.Dimension;
import java.awt.Graphics2D; import java.awt.Graphics2D;
import java.awt.Polygon; import java.awt.Polygon;
import javax.inject.Inject;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.Perspective; import net.runelite.api.Perspective;
import net.runelite.api.coords.LocalPoint; import net.runelite.api.coords.LocalPoint;
@@ -41,7 +42,8 @@ public class TileIndicatorsOverlay extends Overlay
private final Client client; private final Client client;
private final TileIndicatorsConfig config; private final TileIndicatorsConfig config;
TileIndicatorsOverlay(Client client, TileIndicatorsConfig config) @Inject
private TileIndicatorsOverlay(Client client, TileIndicatorsConfig config)
{ {
this.client = client; this.client = client;
this.config = config; this.config = config;

View File

@@ -26,11 +26,10 @@ package net.runelite.client.plugins.tileindicators;
import com.google.inject.Provides; import com.google.inject.Provides;
import javax.inject.Inject; import javax.inject.Inject;
import net.runelite.api.Client;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
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.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
@PluginDescriptor( @PluginDescriptor(
name = "Tile Indicators", name = "Tile Indicators",
@@ -39,12 +38,10 @@ import net.runelite.client.ui.overlay.Overlay;
public class TileIndicatorsPlugin extends Plugin public class TileIndicatorsPlugin extends Plugin
{ {
@Inject @Inject
private Client client; private OverlayManager overlayManager;
@Inject @Inject
private TileIndicatorsConfig config; private TileIndicatorsOverlay overlay;
private TileIndicatorsOverlay tileIndicatorsOverlay;
@Provides @Provides
TileIndicatorsConfig provideConfig(ConfigManager configManager) TileIndicatorsConfig provideConfig(ConfigManager configManager)
@@ -55,12 +52,12 @@ public class TileIndicatorsPlugin extends Plugin
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
tileIndicatorsOverlay = new TileIndicatorsOverlay(client, config); overlayManager.add(overlay);
} }
@Override @Override
public Overlay getOverlay() protected void shutDown() throws Exception
{ {
return tileIndicatorsOverlay; overlayManager.remove(overlay);
} }
} }

View File

@@ -26,8 +26,6 @@ package net.runelite.client.plugins.tithefarm;
import com.google.common.eventbus.Subscribe; import com.google.common.eventbus.Subscribe;
import com.google.inject.Provides; import com.google.inject.Provides;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
import javax.inject.Inject; import javax.inject.Inject;
@@ -41,7 +39,7 @@ import net.runelite.api.events.GameTick;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
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.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
@Slf4j @Slf4j
@PluginDescriptor( @PluginDescriptor(
@@ -49,6 +47,9 @@ import net.runelite.client.ui.overlay.Overlay;
) )
public class TitheFarmPlugin extends Plugin public class TitheFarmPlugin extends Plugin
{ {
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private TitheFarmPlantOverlay titheFarmOverlay; private TitheFarmPlantOverlay titheFarmOverlay;
@@ -65,15 +66,18 @@ public class TitheFarmPlugin extends Plugin
} }
@Override @Override
public Collection<Overlay> getOverlays() protected void startUp() throws Exception
{ {
return Arrays.asList(titheFarmOverlay, titheFarmSackOverlay); overlayManager.add(titheFarmOverlay);
overlayManager.add(titheFarmSackOverlay);
titheFarmOverlay.updateConfig();
} }
@Override @Override
public void startUp() throws Exception protected void shutDown() throws Exception
{ {
titheFarmOverlay.updateConfig(); overlayManager.remove(titheFarmOverlay);
overlayManager.remove(titheFarmSackOverlay);
} }
@Subscribe @Subscribe

View File

@@ -28,8 +28,6 @@ import com.google.common.eventbus.Subscribe;
import com.google.inject.Provides; import com.google.inject.Provides;
import java.time.Duration; import java.time.Duration;
import java.time.Instant; import java.time.Instant;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
import javax.inject.Inject; import javax.inject.Inject;
@@ -52,7 +50,7 @@ import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDependency; import net.runelite.client.plugins.PluginDependency;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.xptracker.XpTrackerPlugin; import net.runelite.client.plugins.xptracker.XpTrackerPlugin;
import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
@PluginDescriptor( @PluginDescriptor(
name = "Woodcutting" name = "Woodcutting"
@@ -66,6 +64,9 @@ public class WoodcuttingPlugin extends Plugin
@Inject @Inject
private Client client; private Client client;
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private WoodcuttingOverlay overlay; private WoodcuttingOverlay overlay;
@@ -91,14 +92,17 @@ public class WoodcuttingPlugin extends Plugin
} }
@Override @Override
public Collection<Overlay> getOverlays() protected void startUp() throws Exception
{ {
return Arrays.asList(overlay, treesOverlay); overlayManager.add(overlay);
overlayManager.add(treesOverlay);
} }
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.remove(overlay);
overlayManager.remove(treesOverlay);
treeObjects.clear(); treeObjects.clear();
session = null; session = null;
axe = null; axe = null;

View File

@@ -43,7 +43,7 @@ import net.runelite.client.plugins.PluginDependency;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.xptracker.XpTrackerPlugin; import net.runelite.client.plugins.xptracker.XpTrackerPlugin;
import net.runelite.client.task.Schedule; import net.runelite.client.task.Schedule;
import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayManager;
@PluginDescriptor( @PluginDescriptor(
name = "XP Globes" name = "XP Globes"
@@ -62,6 +62,9 @@ public class XpGlobesPlugin extends Plugin
@Inject @Inject
private XpGlobesConfig config; private XpGlobesConfig config;
@Inject
private OverlayManager overlayManager;
@Inject @Inject
private XpGlobesOverlay overlay; private XpGlobesOverlay overlay;
@@ -72,9 +75,15 @@ public class XpGlobesPlugin extends Plugin
} }
@Override @Override
public Overlay getOverlay() protected void startUp() throws Exception
{ {
return overlay; overlayManager.add(overlay);
}
@Override
protected void shutDown() throws Exception
{
overlayManager.remove(overlay);
} }
@Subscribe @Subscribe

View File

@@ -30,13 +30,14 @@ import com.google.inject.testing.fieldbinder.BoundFieldModule;
import java.util.Set; import java.util.Set;
import javax.inject.Inject; import javax.inject.Inject;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.VarPlayer;
import net.runelite.api.Skill; import net.runelite.api.Skill;
import net.runelite.api.VarPlayer;
import net.runelite.api.Varbits; import net.runelite.api.Varbits;
import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.VarbitChanged; import net.runelite.api.events.VarbitChanged;
import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetInfo;
import net.runelite.client.ui.overlay.OverlayManager;
import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
import org.junit.Before; import org.junit.Before;
@@ -54,6 +55,10 @@ public class AttackStylesPluginTest
@Bind @Bind
Client client; Client client;
@Mock
@Bind
OverlayManager overlayManager;
@Mock @Mock
@Bind @Bind
AttackStylesConfig attackConfig; AttackStylesConfig attackConfig;

View File

@@ -25,6 +25,7 @@
package net.runelite.client.plugins.cerberus; package net.runelite.client.plugins.cerberus;
import com.google.inject.Guice; import com.google.inject.Guice;
import com.google.inject.testing.fieldbinder.Bind;
import com.google.inject.testing.fieldbinder.BoundFieldModule; import com.google.inject.testing.fieldbinder.BoundFieldModule;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
@@ -32,10 +33,12 @@ import javax.inject.Inject;
import net.runelite.api.NPC; import net.runelite.api.NPC;
import net.runelite.api.coords.LocalPoint; import net.runelite.api.coords.LocalPoint;
import net.runelite.api.events.GameTick; import net.runelite.api.events.GameTick;
import net.runelite.client.ui.overlay.OverlayManager;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.mockito.Mock;
import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when; import static org.mockito.Mockito.when;
import org.mockito.runners.MockitoJUnitRunner; import org.mockito.runners.MockitoJUnitRunner;
@@ -43,6 +46,10 @@ import org.mockito.runners.MockitoJUnitRunner;
@RunWith(MockitoJUnitRunner.class) @RunWith(MockitoJUnitRunner.class)
public class CerberusPluginTest public class CerberusPluginTest
{ {
@Mock
@Bind
OverlayManager overlayManager;
@Inject @Inject
CerberusPlugin cerberusPlugin; CerberusPlugin cerberusPlugin;

View File

@@ -36,6 +36,7 @@ import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetInfo;
import net.runelite.client.Notifier; import net.runelite.client.Notifier;
import net.runelite.client.game.ItemManager; import net.runelite.client.game.ItemManager;
import net.runelite.client.ui.overlay.OverlayManager;
import net.runelite.client.ui.overlay.infobox.InfoBoxManager; import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertEquals;
import org.junit.Before; import org.junit.Before;
@@ -92,6 +93,10 @@ public class SlayerPluginTest
@Bind @Bind
SlayerConfig slayerConfig; SlayerConfig slayerConfig;
@Mock
@Bind
OverlayManager overlayManager;
@Mock @Mock
@Bind @Bind
SlayerOverlay overlay; SlayerOverlay overlay;