Merge pull request #3140 from deathbeam/split-overlay-renderer-and-manager
Split overlay renderer and manager
This commit is contained in:
@@ -27,9 +27,6 @@ package net.runelite.client.plugins;
|
|||||||
import com.google.inject.Binder;
|
import com.google.inject.Binder;
|
||||||
import com.google.inject.Injector;
|
import com.google.inject.Injector;
|
||||||
import com.google.inject.Module;
|
import com.google.inject.Module;
|
||||||
import java.util.Collection;
|
|
||||||
import java.util.Collections;
|
|
||||||
import net.runelite.client.ui.overlay.Overlay;
|
|
||||||
|
|
||||||
public abstract class Plugin implements Module
|
public abstract class Plugin implements Module
|
||||||
{
|
{
|
||||||
@@ -52,15 +49,4 @@ public abstract class Plugin implements Module
|
|||||||
{
|
{
|
||||||
return injector;
|
return injector;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Overlay getOverlay()
|
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Collection<Overlay> getOverlays()
|
|
||||||
{
|
|
||||||
Overlay overlay = getOverlay();
|
|
||||||
return overlay != null ? Collections.singletonList(overlay) : Collections.EMPTY_LIST;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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(
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -0,0 +1,291 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2018, Tomas Slusny <slusnucky@gmail.com>
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright notice, this
|
||||||
|
* list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
|
* and/or other materials provided with the distribution.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
||||||
|
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
package net.runelite.client.ui.overlay;
|
||||||
|
|
||||||
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
|
import java.awt.Dimension;
|
||||||
|
import java.awt.Point;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
import java.util.concurrent.CopyOnWriteArrayList;
|
||||||
|
import java.util.function.Predicate;
|
||||||
|
import javax.inject.Inject;
|
||||||
|
import javax.inject.Singleton;
|
||||||
|
import lombok.Getter;
|
||||||
|
import net.runelite.client.config.ConfigGroup;
|
||||||
|
import net.runelite.client.config.ConfigManager;
|
||||||
|
import net.runelite.client.config.RuneLiteConfig;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Manages state of all game overlays
|
||||||
|
*/
|
||||||
|
@Singleton
|
||||||
|
public class OverlayManager
|
||||||
|
{
|
||||||
|
private static final String OVERLAY_CONFIG_PREFERRED_LOCATION = "_preferredLocation";
|
||||||
|
private static final String OVERLAY_CONFIG_PREFERRED_POSITION = "_preferredPosition";
|
||||||
|
private static final String OVERLAY_CONFIG_PREFERRED_SIZE = "_preferredSize";
|
||||||
|
private static final String RUNELITE_CONFIG_GROUP_NAME = RuneLiteConfig.class.getAnnotation(ConfigGroup.class).keyName();
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
private final List<Overlay> overlays = new CopyOnWriteArrayList<>();
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
private final Map<OverlayLayer, List<Overlay>> overlayLayers = new ConcurrentHashMap<>();
|
||||||
|
|
||||||
|
private final ConfigManager configManager;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private OverlayManager(final ConfigManager configManager)
|
||||||
|
{
|
||||||
|
this.configManager = configManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add overlay.
|
||||||
|
*
|
||||||
|
* @param overlay the overlay
|
||||||
|
* @return true if overlay was added
|
||||||
|
*/
|
||||||
|
public boolean add(final Overlay overlay)
|
||||||
|
{
|
||||||
|
final boolean add = overlays.add(overlay);
|
||||||
|
|
||||||
|
if (add)
|
||||||
|
{
|
||||||
|
final Point location = loadOverlayLocation(overlay);
|
||||||
|
overlay.setPreferredLocation(location);
|
||||||
|
final Dimension size = loadOverlaySize(overlay);
|
||||||
|
overlay.setPreferredSize(size);
|
||||||
|
final OverlayPosition position = loadOverlayPosition(overlay);
|
||||||
|
overlay.setPreferredPosition(position);
|
||||||
|
sortOverlays(overlays);
|
||||||
|
rebuildOverlayLayers();
|
||||||
|
}
|
||||||
|
|
||||||
|
return add;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove overlay.
|
||||||
|
*
|
||||||
|
* @param overlay the overlay
|
||||||
|
* @return true if overlay was removed
|
||||||
|
*/
|
||||||
|
public boolean remove(final Overlay overlay)
|
||||||
|
{
|
||||||
|
final boolean remove = overlays.remove(overlay);
|
||||||
|
|
||||||
|
if (remove)
|
||||||
|
{
|
||||||
|
sortOverlays(overlays);
|
||||||
|
rebuildOverlayLayers();
|
||||||
|
}
|
||||||
|
|
||||||
|
return remove;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove if overlay matches filter
|
||||||
|
*
|
||||||
|
* @param filter the filter
|
||||||
|
* @return true if any overlay was removed
|
||||||
|
*/
|
||||||
|
public boolean removeIf(Predicate<Overlay> filter)
|
||||||
|
{
|
||||||
|
final boolean removeIf = overlays.removeIf(filter);
|
||||||
|
sortOverlays(overlays);
|
||||||
|
rebuildOverlayLayers();
|
||||||
|
return removeIf;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Clear all overlays
|
||||||
|
*/
|
||||||
|
public void clear()
|
||||||
|
{
|
||||||
|
overlays.clear();
|
||||||
|
sortOverlays(overlays);
|
||||||
|
rebuildOverlayLayers();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Force save overlay data
|
||||||
|
*
|
||||||
|
* @param overlay overlay to save
|
||||||
|
*/
|
||||||
|
public void saveOverlay(final Overlay overlay)
|
||||||
|
{
|
||||||
|
saveOverlayPosition(overlay);
|
||||||
|
saveOverlaySize(overlay);
|
||||||
|
saveOverlayLocation(overlay);
|
||||||
|
sortOverlays(overlays);
|
||||||
|
rebuildOverlayLayers();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resets stored overlay position data
|
||||||
|
*
|
||||||
|
* @param overlay overlay to reset
|
||||||
|
*/
|
||||||
|
public void resetOverlay(final Overlay overlay)
|
||||||
|
{
|
||||||
|
final String locationKey = overlay.getName() + OVERLAY_CONFIG_PREFERRED_LOCATION;
|
||||||
|
final String positionKey = overlay.getName() + OVERLAY_CONFIG_PREFERRED_POSITION;
|
||||||
|
final String sizeKey = overlay.getName() + OVERLAY_CONFIG_PREFERRED_SIZE;
|
||||||
|
configManager.unsetConfiguration(RUNELITE_CONFIG_GROUP_NAME, locationKey);
|
||||||
|
configManager.unsetConfiguration(RUNELITE_CONFIG_GROUP_NAME, positionKey);
|
||||||
|
configManager.unsetConfiguration(RUNELITE_CONFIG_GROUP_NAME, sizeKey);
|
||||||
|
sortOverlays(overlays);
|
||||||
|
rebuildOverlayLayers();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void rebuildOverlayLayers()
|
||||||
|
{
|
||||||
|
overlayLayers.clear();
|
||||||
|
|
||||||
|
for (final Overlay overlay : overlays)
|
||||||
|
{
|
||||||
|
OverlayLayer layer = overlay.getLayer();
|
||||||
|
|
||||||
|
if (overlay.getPreferredLocation() != null && overlay.getPreferredPosition() == null)
|
||||||
|
{
|
||||||
|
// When UNDER_WIDGET overlays are in preferred locations, move to
|
||||||
|
// ABOVE_WIDGETS so that it can draw over interfaces
|
||||||
|
if (layer == OverlayLayer.UNDER_WIDGETS)
|
||||||
|
{
|
||||||
|
layer = OverlayLayer.ABOVE_WIDGETS;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
overlayLayers.compute(layer, (key, value) ->
|
||||||
|
{
|
||||||
|
if (value == null)
|
||||||
|
{
|
||||||
|
value = new CopyOnWriteArrayList<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
value.add(overlay);
|
||||||
|
return value;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void saveOverlayLocation(final Overlay overlay)
|
||||||
|
{
|
||||||
|
final String key = overlay.getName() + OVERLAY_CONFIG_PREFERRED_LOCATION;
|
||||||
|
if (overlay.getPreferredLocation() != null)
|
||||||
|
{
|
||||||
|
configManager.setConfiguration(
|
||||||
|
RUNELITE_CONFIG_GROUP_NAME,
|
||||||
|
key,
|
||||||
|
overlay.getPreferredLocation());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
configManager.unsetConfiguration(
|
||||||
|
RUNELITE_CONFIG_GROUP_NAME,
|
||||||
|
key);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void saveOverlaySize(final Overlay overlay)
|
||||||
|
{
|
||||||
|
final String key = overlay.getName() + OVERLAY_CONFIG_PREFERRED_SIZE;
|
||||||
|
if (overlay.getPreferredSize() != null)
|
||||||
|
{
|
||||||
|
configManager.setConfiguration(
|
||||||
|
RUNELITE_CONFIG_GROUP_NAME,
|
||||||
|
key,
|
||||||
|
overlay.getPreferredSize());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
configManager.unsetConfiguration(
|
||||||
|
RUNELITE_CONFIG_GROUP_NAME,
|
||||||
|
key);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void saveOverlayPosition(final Overlay overlay)
|
||||||
|
{
|
||||||
|
final String key = overlay.getName() + OVERLAY_CONFIG_PREFERRED_POSITION;
|
||||||
|
if (overlay.getPreferredPosition() != null)
|
||||||
|
{
|
||||||
|
configManager.setConfiguration(
|
||||||
|
RUNELITE_CONFIG_GROUP_NAME,
|
||||||
|
key,
|
||||||
|
overlay.getPreferredPosition());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
configManager.unsetConfiguration(
|
||||||
|
RUNELITE_CONFIG_GROUP_NAME,
|
||||||
|
key);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private Point loadOverlayLocation(final Overlay overlay)
|
||||||
|
{
|
||||||
|
final String key = overlay.getName() + OVERLAY_CONFIG_PREFERRED_LOCATION;
|
||||||
|
return configManager.getConfiguration(RUNELITE_CONFIG_GROUP_NAME, key, Point.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
private Dimension loadOverlaySize(final Overlay overlay)
|
||||||
|
{
|
||||||
|
final String key = overlay.getName() + OVERLAY_CONFIG_PREFERRED_SIZE;
|
||||||
|
return configManager.getConfiguration(RUNELITE_CONFIG_GROUP_NAME, key, Dimension.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
private OverlayPosition loadOverlayPosition(final Overlay overlay)
|
||||||
|
{
|
||||||
|
final String locationKey = overlay.getName() + OVERLAY_CONFIG_PREFERRED_POSITION;
|
||||||
|
return configManager.getConfiguration(RUNELITE_CONFIG_GROUP_NAME, locationKey, OverlayPosition.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@VisibleForTesting
|
||||||
|
static void sortOverlays(List<Overlay> overlays)
|
||||||
|
{
|
||||||
|
overlays.sort((a, b) ->
|
||||||
|
{
|
||||||
|
if (a.getPosition() != b.getPosition())
|
||||||
|
{
|
||||||
|
// This is so non-dynamic overlays render after dynamic
|
||||||
|
// overlays, which are generally in the scene
|
||||||
|
return a.getPosition().compareTo(b.getPosition());
|
||||||
|
}
|
||||||
|
|
||||||
|
// For dynamic overlays, higher priority means to
|
||||||
|
// draw *later* so it is on top.
|
||||||
|
// For non-dynamic overlays, higher priority means
|
||||||
|
// draw *first* so that they are closer to their
|
||||||
|
// defined position.
|
||||||
|
return a.getPosition() == OverlayPosition.DYNAMIC
|
||||||
|
? a.getPriority().compareTo(b.getPriority())
|
||||||
|
: b.getPriority().compareTo(a.getPriority());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -29,5 +29,6 @@ public enum OverlayPriority
|
|||||||
LOW,
|
LOW,
|
||||||
NONE,
|
NONE,
|
||||||
MED,
|
MED,
|
||||||
HIGH
|
HIGH,
|
||||||
|
HIGHEST
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,14 +33,7 @@ import java.awt.Point;
|
|||||||
import java.awt.Rectangle;
|
import java.awt.Rectangle;
|
||||||
import java.awt.event.KeyEvent;
|
import java.awt.event.KeyEvent;
|
||||||
import java.awt.event.MouseEvent;
|
import java.awt.event.MouseEvent;
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.concurrent.CopyOnWriteArrayList;
|
|
||||||
import java.util.stream.Collectors;
|
|
||||||
import java.util.stream.Stream;
|
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import javax.inject.Provider;
|
import javax.inject.Provider;
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
@@ -49,18 +42,13 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
import net.runelite.api.GameState;
|
import net.runelite.api.GameState;
|
||||||
import net.runelite.api.events.FocusChanged;
|
import net.runelite.api.events.FocusChanged;
|
||||||
import net.runelite.api.events.GameStateChanged;
|
|
||||||
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.config.ConfigGroup;
|
|
||||||
import net.runelite.client.config.ConfigManager;
|
|
||||||
import net.runelite.client.config.RuneLiteConfig;
|
import net.runelite.client.config.RuneLiteConfig;
|
||||||
import net.runelite.client.events.PluginChanged;
|
|
||||||
import net.runelite.client.input.KeyListener;
|
import net.runelite.client.input.KeyListener;
|
||||||
import net.runelite.client.input.KeyManager;
|
import net.runelite.client.input.KeyManager;
|
||||||
import net.runelite.client.input.MouseListener;
|
import net.runelite.client.input.MouseListener;
|
||||||
import net.runelite.client.input.MouseManager;
|
import net.runelite.client.input.MouseManager;
|
||||||
import net.runelite.client.plugins.PluginManager;
|
|
||||||
import net.runelite.client.ui.FontManager;
|
import net.runelite.client.ui.FontManager;
|
||||||
import net.runelite.client.ui.overlay.infobox.InfoBoxOverlay;
|
import net.runelite.client.ui.overlay.infobox.InfoBoxOverlay;
|
||||||
import net.runelite.client.ui.overlay.tooltip.TooltipOverlay;
|
import net.runelite.client.ui.overlay.tooltip.TooltipOverlay;
|
||||||
@@ -83,19 +71,9 @@ public class OverlayRenderer extends MouseListener implements KeyListener
|
|||||||
private static final Color SNAP_CORNER_ACTIVE_COLOR = new Color(0, 255, 0, 100);
|
private static final Color SNAP_CORNER_ACTIVE_COLOR = new Color(0, 255, 0, 100);
|
||||||
private static final Color MOVING_OVERLAY_COLOR = new Color(255, 255, 0, 100);
|
private static final Color MOVING_OVERLAY_COLOR = new Color(255, 255, 0, 100);
|
||||||
private static final Color MOVING_OVERLAY_ACTIVE_COLOR = new Color(255, 255, 0, 200);
|
private static final Color MOVING_OVERLAY_ACTIVE_COLOR = new Color(255, 255, 0, 200);
|
||||||
private static final String OVERLAY_CONFIG_PREFERRED_LOCATION = "_preferredLocation";
|
|
||||||
private static final String OVERLAY_CONFIG_PREFERRED_POSITION = "_preferredPosition";
|
|
||||||
private static final String OVERLAY_CONFIG_PREFERRED_SIZE = "_preferredSize";
|
|
||||||
|
|
||||||
private final PluginManager pluginManager;
|
|
||||||
private final Provider<Client> clientProvider;
|
private final Provider<Client> clientProvider;
|
||||||
private final InfoBoxOverlay infoBoxOverlay;
|
private final OverlayManager overlayManager;
|
||||||
private final ConfigManager configManager;
|
|
||||||
private final RuneLiteConfig runeLiteConfig;
|
private final RuneLiteConfig runeLiteConfig;
|
||||||
private final TooltipOverlay tooltipOverlay;
|
|
||||||
private final WorldMapOverlay worldMapOverlay;
|
|
||||||
private final List<Overlay> allOverlays = new CopyOnWriteArrayList<>();
|
|
||||||
private final String runeliteGroupName = RuneLiteConfig.class.getAnnotation(ConfigGroup.class).keyName();
|
|
||||||
|
|
||||||
// Overlay movement variables
|
// Overlay movement variables
|
||||||
private final Point overlayOffset = new Point();
|
private final Point overlayOffset = new Point();
|
||||||
@@ -109,52 +87,28 @@ public class OverlayRenderer extends MouseListener implements KeyListener
|
|||||||
private boolean chatboxHidden;
|
private boolean chatboxHidden;
|
||||||
private boolean isResizeable;
|
private boolean isResizeable;
|
||||||
private OverlayBounds snapCorners;
|
private OverlayBounds snapCorners;
|
||||||
private final Map<OverlayLayer, List<Overlay>> overlayLayerOverlayMap = Collections
|
|
||||||
.synchronizedMap(new HashMap<>());
|
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private OverlayRenderer(
|
private OverlayRenderer(
|
||||||
final Provider<Client> clientProvider,
|
final Provider<Client> clientProvider,
|
||||||
final PluginManager pluginManager,
|
final OverlayManager overlayManager,
|
||||||
|
final RuneLiteConfig runeLiteConfig,
|
||||||
final MouseManager mouseManager,
|
final MouseManager mouseManager,
|
||||||
final KeyManager keyManager,
|
final KeyManager keyManager,
|
||||||
final TooltipOverlay tooltipOverlay,
|
|
||||||
final InfoBoxOverlay infoBoxOverlay,
|
final InfoBoxOverlay infoBoxOverlay,
|
||||||
final WorldMapOverlay worldMapOverlay,
|
final TooltipOverlay tooltipOverlay,
|
||||||
final ConfigManager configManager,
|
final WorldMapOverlay worldMapOverlay)
|
||||||
final RuneLiteConfig runeLiteConfig)
|
|
||||||
{
|
{
|
||||||
this.clientProvider = clientProvider;
|
this.clientProvider = clientProvider;
|
||||||
this.pluginManager = pluginManager;
|
this.overlayManager = overlayManager;
|
||||||
this.tooltipOverlay = tooltipOverlay;
|
|
||||||
this.infoBoxOverlay = infoBoxOverlay;
|
|
||||||
this.worldMapOverlay = worldMapOverlay;
|
|
||||||
this.configManager = configManager;
|
|
||||||
this.runeLiteConfig = runeLiteConfig;
|
this.runeLiteConfig = runeLiteConfig;
|
||||||
keyManager.registerKeyListener(this);
|
keyManager.registerKeyListener(this);
|
||||||
mouseManager.registerMouseListener(this);
|
mouseManager.registerMouseListener(this);
|
||||||
}
|
|
||||||
|
|
||||||
@Subscribe
|
// Register core overlays
|
||||||
public void onGameStateChanged(GameStateChanged event)
|
overlayManager.add(infoBoxOverlay);
|
||||||
{
|
overlayManager.add(worldMapOverlay);
|
||||||
final Client client = clientProvider.get();
|
overlayManager.add(tooltipOverlay);
|
||||||
|
|
||||||
if (client == null)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (event.getGameState().equals(GameState.LOGGED_IN))
|
|
||||||
{
|
|
||||||
rebuildOverlays();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Subscribe
|
|
||||||
public void onPluginChanged(PluginChanged event)
|
|
||||||
{
|
|
||||||
rebuildOverlays();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Subscribe
|
@Subscribe
|
||||||
@@ -166,129 +120,10 @@ public class OverlayRenderer extends MouseListener implements KeyListener
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Force save overlay data
|
|
||||||
* @param overlay overlay to save
|
|
||||||
*/
|
|
||||||
public void saveOverlay(final Overlay overlay)
|
|
||||||
{
|
|
||||||
saveOverlayPosition(overlay);
|
|
||||||
saveOverlaySize(overlay);
|
|
||||||
saveOverlayLocation(overlay);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Resets stored overlay position data
|
|
||||||
* @param overlay overlay to reset
|
|
||||||
*/
|
|
||||||
public void resetOverlay(final Overlay overlay)
|
|
||||||
{
|
|
||||||
final String locationKey = overlay.getName() + OVERLAY_CONFIG_PREFERRED_LOCATION;
|
|
||||||
final String positionKey = overlay.getName() + OVERLAY_CONFIG_PREFERRED_POSITION;
|
|
||||||
final String sizeKey = overlay.getName() + OVERLAY_CONFIG_PREFERRED_SIZE;
|
|
||||||
configManager.unsetConfiguration(runeliteGroupName, locationKey);
|
|
||||||
configManager.unsetConfiguration(runeliteGroupName, positionKey);
|
|
||||||
configManager.unsetConfiguration(runeliteGroupName, sizeKey);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Rebuild overlay cache for rendering
|
|
||||||
*/
|
|
||||||
public void rebuildOverlays()
|
|
||||||
{
|
|
||||||
final List<Overlay> overlays = Stream
|
|
||||||
.concat(
|
|
||||||
pluginManager.getPlugins()
|
|
||||||
.stream()
|
|
||||||
.filter(pluginManager::isPluginEnabled)
|
|
||||||
.flatMap(plugin -> plugin.getOverlays().stream()),
|
|
||||||
Stream.of(infoBoxOverlay, tooltipOverlay, worldMapOverlay))
|
|
||||||
.filter(Objects::nonNull)
|
|
||||||
.collect(Collectors.toList());
|
|
||||||
|
|
||||||
sortOverlays(overlays);
|
|
||||||
allOverlays.clear();
|
|
||||||
allOverlays.addAll(overlays);
|
|
||||||
|
|
||||||
final Client client = clientProvider.get();
|
|
||||||
|
|
||||||
if (client == null)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (final Overlay overlay : overlays)
|
|
||||||
{
|
|
||||||
final Point location = loadOverlayLocation(overlay);
|
|
||||||
overlay.setPreferredLocation(location);
|
|
||||||
|
|
||||||
final Dimension size = loadOverlaySize(overlay);
|
|
||||||
overlay.setPreferredSize(size);
|
|
||||||
|
|
||||||
final OverlayPosition position = loadOverlayPosition(overlay);
|
|
||||||
overlay.setPreferredPosition(position);
|
|
||||||
}
|
|
||||||
|
|
||||||
rebuildOverlayLayers();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void rebuildOverlayLayers()
|
|
||||||
{
|
|
||||||
overlayLayerOverlayMap.clear();
|
|
||||||
|
|
||||||
for (final Overlay overlay : allOverlays)
|
|
||||||
{
|
|
||||||
OverlayLayer layer = overlay.getLayer();
|
|
||||||
|
|
||||||
if (overlay.getPreferredLocation() != null && overlay.getPreferredPosition() == null)
|
|
||||||
{
|
|
||||||
// When UNDER_WIDGET overlays are in preferred locations, move to
|
|
||||||
// ABOVE_WIDGETS so that it can draw over interfaces
|
|
||||||
if (layer == OverlayLayer.UNDER_WIDGETS)
|
|
||||||
{
|
|
||||||
layer = OverlayLayer.ABOVE_WIDGETS;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
overlayLayerOverlayMap.compute(layer, (key, value) ->
|
|
||||||
{
|
|
||||||
if (value == null)
|
|
||||||
{
|
|
||||||
value = new CopyOnWriteArrayList<>();
|
|
||||||
}
|
|
||||||
|
|
||||||
value.add(overlay);
|
|
||||||
return value;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void sortOverlays(List<Overlay> overlays)
|
|
||||||
{
|
|
||||||
overlays.sort((a, b) ->
|
|
||||||
{
|
|
||||||
if (a.getPosition() != b.getPosition())
|
|
||||||
{
|
|
||||||
// This is so non-dynamic overlays render after dynamic
|
|
||||||
// overlays, which are generally in the scene
|
|
||||||
return a.getPosition().compareTo(b.getPosition());
|
|
||||||
}
|
|
||||||
|
|
||||||
// For dynamic overlays, higher priority means to
|
|
||||||
// draw *later* so it is on top.
|
|
||||||
// For non-dynamic overlays, higher priority means
|
|
||||||
// draw *first* so that they are closer to their
|
|
||||||
// defined position.
|
|
||||||
return a.getPosition() == OverlayPosition.DYNAMIC
|
|
||||||
? a.getPriority().compareTo(b.getPriority())
|
|
||||||
: b.getPriority().compareTo(a.getPriority());
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
public void render(Graphics2D graphics, final OverlayLayer layer)
|
public void render(Graphics2D graphics, final OverlayLayer layer)
|
||||||
{
|
{
|
||||||
final Client client = clientProvider.get();
|
final Client client = clientProvider.get();
|
||||||
final List<Overlay> overlays = overlayLayerOverlayMap.get(layer);
|
final List<Overlay> overlays = overlayManager.getOverlayLayers().get(layer);
|
||||||
|
|
||||||
if (client == null
|
if (client == null
|
||||||
|| overlays == null
|
|| overlays == null
|
||||||
@@ -410,7 +245,7 @@ public class OverlayRenderer extends MouseListener implements KeyListener
|
|||||||
final Point mousePoint = mouseEvent.getPoint();
|
final Point mousePoint = mouseEvent.getPoint();
|
||||||
mousePosition.setLocation(mousePoint);
|
mousePosition.setLocation(mousePoint);
|
||||||
|
|
||||||
for (Overlay overlay : allOverlays)
|
for (Overlay overlay : overlayManager.getOverlays())
|
||||||
{
|
{
|
||||||
if (overlay.getBounds().contains(mousePoint))
|
if (overlay.getBounds().contains(mousePoint))
|
||||||
{
|
{
|
||||||
@@ -422,15 +257,20 @@ public class OverlayRenderer extends MouseListener implements KeyListener
|
|||||||
overlay.setPreferredPosition(null);
|
overlay.setPreferredPosition(null);
|
||||||
overlay.setPreferredSize(null);
|
overlay.setPreferredSize(null);
|
||||||
overlay.setPreferredLocation(null);
|
overlay.setPreferredLocation(null);
|
||||||
saveOverlay(overlay);
|
overlayManager.resetOverlay(overlay);
|
||||||
rebuildOverlayLayers();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
mousePoint.translate(-overlay.getBounds().x, -overlay.getBounds().y);
|
final Point offset = new Point(mousePoint.x, mousePoint.y);
|
||||||
overlayOffset.setLocation(mousePoint);
|
offset.translate(-overlay.getBounds().x, -overlay.getBounds().y);
|
||||||
|
overlayOffset.setLocation(offset);
|
||||||
|
|
||||||
|
mousePoint.translate(-offset.x, -offset.y);
|
||||||
movedOverlay = overlay;
|
movedOverlay = overlay;
|
||||||
|
movedOverlay.setPreferredPosition(null);
|
||||||
|
movedOverlay.setPreferredLocation(mousePoint);
|
||||||
|
overlayManager.saveOverlay(movedOverlay);
|
||||||
}
|
}
|
||||||
|
|
||||||
mouseEvent.consume();
|
mouseEvent.consume();
|
||||||
@@ -470,7 +310,6 @@ public class OverlayRenderer extends MouseListener implements KeyListener
|
|||||||
mousePoint.translate(-overlayOffset.x, -overlayOffset.y);
|
mousePoint.translate(-overlayOffset.x, -overlayOffset.y);
|
||||||
movedOverlay.setPreferredPosition(null);
|
movedOverlay.setPreferredPosition(null);
|
||||||
movedOverlay.setPreferredLocation(mousePoint);
|
movedOverlay.setPreferredLocation(mousePoint);
|
||||||
rebuildOverlayLayers();
|
|
||||||
mouseEvent.consume();
|
mouseEvent.consume();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -494,11 +333,13 @@ public class OverlayRenderer extends MouseListener implements KeyListener
|
|||||||
if (snapCorner.contains(mouseEvent.getPoint()))
|
if (snapCorner.contains(mouseEvent.getPoint()))
|
||||||
{
|
{
|
||||||
OverlayPosition position = snapCorners.fromBounds(snapCorner);
|
OverlayPosition position = snapCorners.fromBounds(snapCorner);
|
||||||
|
|
||||||
if (position == movedOverlay.getPosition())
|
if (position == movedOverlay.getPosition())
|
||||||
{
|
{
|
||||||
// overlay moves back to default position
|
// overlay moves back to default position
|
||||||
position = null;
|
position = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
movedOverlay.setPreferredPosition(position);
|
movedOverlay.setPreferredPosition(position);
|
||||||
movedOverlay.setPreferredLocation(null); // from dragging
|
movedOverlay.setPreferredLocation(null); // from dragging
|
||||||
break;
|
break;
|
||||||
@@ -506,9 +347,7 @@ public class OverlayRenderer extends MouseListener implements KeyListener
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
saveOverlayPosition(movedOverlay);
|
overlayManager.saveOverlay(movedOverlay);
|
||||||
saveOverlayLocation(movedOverlay);
|
|
||||||
rebuildOverlayLayers();
|
|
||||||
movedOverlay = null;
|
movedOverlay = null;
|
||||||
mouseEvent.consume();
|
mouseEvent.consume();
|
||||||
}
|
}
|
||||||
@@ -650,76 +489,4 @@ public class OverlayRenderer extends MouseListener implements KeyListener
|
|||||||
new Rectangle(bottomRightPoint, SNAP_CORNER_SIZE),
|
new Rectangle(bottomRightPoint, SNAP_CORNER_SIZE),
|
||||||
new Rectangle(rightChatboxPoint, SNAP_CORNER_SIZE));
|
new Rectangle(rightChatboxPoint, SNAP_CORNER_SIZE));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void saveOverlayLocation(final Overlay overlay)
|
|
||||||
{
|
|
||||||
final String key = overlay.getName() + OVERLAY_CONFIG_PREFERRED_LOCATION;
|
|
||||||
if (overlay.getPreferredLocation() != null)
|
|
||||||
{
|
|
||||||
configManager.setConfiguration(
|
|
||||||
runeliteGroupName,
|
|
||||||
key,
|
|
||||||
overlay.getPreferredLocation());
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
configManager.unsetConfiguration(
|
|
||||||
runeliteGroupName,
|
|
||||||
key);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void saveOverlaySize(final Overlay overlay)
|
|
||||||
{
|
|
||||||
final String key = overlay.getName() + OVERLAY_CONFIG_PREFERRED_SIZE;
|
|
||||||
if (overlay.getPreferredSize() != null)
|
|
||||||
{
|
|
||||||
configManager.setConfiguration(
|
|
||||||
runeliteGroupName,
|
|
||||||
key,
|
|
||||||
overlay.getPreferredSize());
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
configManager.unsetConfiguration(
|
|
||||||
runeliteGroupName,
|
|
||||||
key);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void saveOverlayPosition(final Overlay overlay)
|
|
||||||
{
|
|
||||||
final String key = overlay.getName() + OVERLAY_CONFIG_PREFERRED_POSITION;
|
|
||||||
if (overlay.getPreferredPosition() != null)
|
|
||||||
{
|
|
||||||
configManager.setConfiguration(
|
|
||||||
runeliteGroupName,
|
|
||||||
key,
|
|
||||||
overlay.getPreferredPosition());
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
configManager.unsetConfiguration(
|
|
||||||
runeliteGroupName,
|
|
||||||
key);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private Point loadOverlayLocation(final Overlay overlay)
|
|
||||||
{
|
|
||||||
final String key = overlay.getName() + OVERLAY_CONFIG_PREFERRED_LOCATION;
|
|
||||||
return configManager.getConfiguration(runeliteGroupName, key, Point.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
private Dimension loadOverlaySize(final Overlay overlay)
|
|
||||||
{
|
|
||||||
final String key = overlay.getName() + OVERLAY_CONFIG_PREFERRED_SIZE;
|
|
||||||
return configManager.getConfiguration(runeliteGroupName, key, Dimension.class);
|
|
||||||
}
|
|
||||||
|
|
||||||
private OverlayPosition loadOverlayPosition(final Overlay overlay)
|
|
||||||
{
|
|
||||||
final String locationKey = overlay.getName() + OVERLAY_CONFIG_PREFERRED_POSITION;
|
|
||||||
return configManager.getConfiguration(runeliteGroupName, locationKey, OverlayPosition.class);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,13 +54,17 @@ public class InfoBoxOverlay extends Overlay
|
|||||||
private final RuneLiteConfig config;
|
private final RuneLiteConfig config;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public InfoBoxOverlay(InfoBoxManager infoboxManager, TooltipManager tooltipManager, Provider<Client> clientProvider, RuneLiteConfig config)
|
private InfoBoxOverlay(
|
||||||
|
InfoBoxManager infoboxManager,
|
||||||
|
TooltipManager tooltipManager,
|
||||||
|
Provider<Client> clientProvider,
|
||||||
|
RuneLiteConfig config)
|
||||||
{
|
{
|
||||||
setPosition(OverlayPosition.TOP_LEFT);
|
|
||||||
this.tooltipManager = tooltipManager;
|
this.tooltipManager = tooltipManager;
|
||||||
this.infoboxManager = infoboxManager;
|
this.infoboxManager = infoboxManager;
|
||||||
this.clientProvider = clientProvider;
|
this.clientProvider = clientProvider;
|
||||||
this.config = config;
|
this.config = config;
|
||||||
|
setPosition(OverlayPosition.TOP_LEFT);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -50,12 +50,12 @@ public class TooltipOverlay extends Overlay
|
|||||||
private final Provider<Client> clientProvider;
|
private final Provider<Client> clientProvider;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public TooltipOverlay(Provider<Client> clientProvider, TooltipManager tooltipManager)
|
private TooltipOverlay(Provider<Client> clientProvider, TooltipManager tooltipManager)
|
||||||
{
|
{
|
||||||
this.clientProvider = clientProvider;
|
this.clientProvider = clientProvider;
|
||||||
this.tooltipManager = tooltipManager;
|
this.tooltipManager = tooltipManager;
|
||||||
setPosition(OverlayPosition.TOOLTIP);
|
setPosition(OverlayPosition.TOOLTIP);
|
||||||
setPriority(OverlayPriority.HIGH);
|
setPriority(OverlayPriority.HIGHEST);
|
||||||
setLayer(OverlayLayer.ALWAYS_ON_TOP);
|
setLayer(OverlayLayer.ALWAYS_ON_TOP);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -63,13 +63,16 @@ public class WorldMapOverlay extends Overlay
|
|||||||
private final Provider<Client> clientProvider;
|
private final Provider<Client> clientProvider;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private WorldMapOverlay(Provider<Client> clientProvider, WorldMapPointManager worldMapPointManager,
|
private WorldMapOverlay(
|
||||||
MouseManager mouseManager, WorldMapOverlayMouseListener worldMapOverlayMouseListener)
|
Provider<Client> clientProvider,
|
||||||
|
WorldMapPointManager worldMapPointManager,
|
||||||
|
MouseManager mouseManager,
|
||||||
|
WorldMapOverlayMouseListener worldMapOverlayMouseListener)
|
||||||
{
|
{
|
||||||
this.clientProvider = clientProvider;
|
this.clientProvider = clientProvider;
|
||||||
this.worldMapPointManager = worldMapPointManager;
|
this.worldMapPointManager = worldMapPointManager;
|
||||||
setPosition(OverlayPosition.DYNAMIC);
|
setPosition(OverlayPosition.DYNAMIC);
|
||||||
setPriority(OverlayPriority.HIGH);
|
setPriority(OverlayPriority.HIGHEST);
|
||||||
setLayer(OverlayLayer.ALWAYS_ON_TOP);
|
setLayer(OverlayLayer.ALWAYS_ON_TOP);
|
||||||
mouseManager.registerMouseListener(worldMapOverlayMouseListener);
|
mouseManager.registerMouseListener(worldMapOverlayMouseListener);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -1,89 +1,89 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2016-2017, Adam <Adam@sigterm.info>
|
* Copyright (c) 2016-2017, Adam <Adam@sigterm.info>
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Redistribution and use in source and binary forms, with or without
|
* Redistribution and use in source and binary forms, with or without
|
||||||
* modification, are permitted provided that the following conditions are met:
|
* modification, are permitted provided that the following conditions are met:
|
||||||
*
|
*
|
||||||
* 1. Redistributions of source code must retain the above copyright notice, this
|
* 1. Redistributions of source code must retain the above copyright notice, this
|
||||||
* list of conditions and the following disclaimer.
|
* list of conditions and the following disclaimer.
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
* this list of conditions and the following disclaimer in the documentation
|
||||||
* and/or other materials provided with the distribution.
|
* and/or other materials provided with the distribution.
|
||||||
*
|
*
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
||||||
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
package net.runelite.client.ui.overlay;
|
package net.runelite.client.ui.overlay;
|
||||||
|
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.awt.Graphics2D;
|
import java.awt.Graphics2D;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
class TestOverlay extends Overlay
|
public class OverlayManagerTest
|
||||||
{
|
{
|
||||||
public TestOverlay(OverlayPosition position, OverlayPriority priority)
|
class TestOverlay extends Overlay
|
||||||
{
|
{
|
||||||
setPosition(position);
|
TestOverlay(OverlayPosition position, OverlayPriority priority)
|
||||||
setPriority(priority);
|
{
|
||||||
}
|
setPosition(position);
|
||||||
|
setPriority(priority);
|
||||||
@Override
|
}
|
||||||
public Dimension render(Graphics2D graphics)
|
|
||||||
{
|
@Override
|
||||||
throw new UnsupportedOperationException("Not supported yet.");
|
public Dimension render(Graphics2D graphics)
|
||||||
}
|
{
|
||||||
}
|
throw new UnsupportedOperationException("Not supported yet.");
|
||||||
|
}
|
||||||
public class OverlayRendererTest
|
}
|
||||||
{
|
|
||||||
@Test
|
@Test
|
||||||
public void testSort()
|
public void testSort()
|
||||||
{
|
{
|
||||||
// High priorities overlays render first
|
// High priorities overlays render first
|
||||||
Overlay tlh = new TestOverlay(OverlayPosition.TOP_LEFT, OverlayPriority.HIGH);
|
Overlay tlh = new TestOverlay(OverlayPosition.TOP_LEFT, OverlayPriority.HIGH);
|
||||||
Overlay tll = new TestOverlay(OverlayPosition.TOP_LEFT, OverlayPriority.LOW);
|
Overlay tll = new TestOverlay(OverlayPosition.TOP_LEFT, OverlayPriority.LOW);
|
||||||
List<Overlay> overlays = Arrays.asList(tlh, tll);
|
List<Overlay> overlays = Arrays.asList(tlh, tll);
|
||||||
OverlayRenderer.sortOverlays(overlays);
|
OverlayManager.sortOverlays(overlays);
|
||||||
assertEquals(tlh, overlays.get(0));
|
assertEquals(tlh, overlays.get(0));
|
||||||
assertEquals(tll, overlays.get(1));
|
assertEquals(tll, overlays.get(1));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testSortDynamic()
|
public void testSortDynamic()
|
||||||
{
|
{
|
||||||
// Dynamic overlays render before static overlays
|
// Dynamic overlays render before static overlays
|
||||||
Overlay tlh = new TestOverlay(OverlayPosition.TOP_LEFT, OverlayPriority.HIGH);
|
Overlay tlh = new TestOverlay(OverlayPosition.TOP_LEFT, OverlayPriority.HIGH);
|
||||||
Overlay dyn = new TestOverlay(OverlayPosition.DYNAMIC, OverlayPriority.HIGH);
|
Overlay dyn = new TestOverlay(OverlayPosition.DYNAMIC, OverlayPriority.HIGH);
|
||||||
List<Overlay> overlays = Arrays.asList(tlh, dyn);
|
List<Overlay> overlays = Arrays.asList(tlh, dyn);
|
||||||
OverlayRenderer.sortOverlays(overlays);
|
OverlayManager.sortOverlays(overlays);
|
||||||
assertEquals(dyn, overlays.get(0));
|
assertEquals(dyn, overlays.get(0));
|
||||||
assertEquals(tlh, overlays.get(1));
|
assertEquals(tlh, overlays.get(1));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void testTooltips()
|
public void testTooltips()
|
||||||
{
|
{
|
||||||
// Tooltip overlay renders after everything
|
// Tooltip overlay renders after everything
|
||||||
Overlay t = new TestOverlay(OverlayPosition.TOOLTIP, OverlayPriority.HIGH);
|
Overlay t = new TestOverlay(OverlayPosition.TOOLTIP, OverlayPriority.HIGH);
|
||||||
Overlay dyn = new TestOverlay(OverlayPosition.DYNAMIC, OverlayPriority.HIGH);
|
Overlay dyn = new TestOverlay(OverlayPosition.DYNAMIC, OverlayPriority.HIGH);
|
||||||
Overlay tlh = new TestOverlay(OverlayPosition.TOP_LEFT, OverlayPriority.HIGH);
|
Overlay tlh = new TestOverlay(OverlayPosition.TOP_LEFT, OverlayPriority.HIGH);
|
||||||
List<Overlay> overlays = Arrays.asList(t, dyn, tlh);
|
List<Overlay> overlays = Arrays.asList(t, dyn, tlh);
|
||||||
OverlayRenderer.sortOverlays(overlays);
|
OverlayManager.sortOverlays(overlays);
|
||||||
assertEquals(dyn, overlays.get(0));
|
assertEquals(dyn, overlays.get(0));
|
||||||
assertEquals(tlh, overlays.get(1));
|
assertEquals(tlh, overlays.get(1));
|
||||||
assertEquals(t, overlays.get(2));
|
assertEquals(t, overlays.get(2));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user