Merge pull request #84 from RobinWeymans/imp-plugin

Use events instead of Guava for config changes
This commit is contained in:
Adam
2017-06-16 20:53:21 -04:00
committed by GitHub
2 changed files with 13 additions and 9 deletions

View File

@@ -24,9 +24,11 @@
*/ */
package net.runelite.client.plugins.implings; package net.runelite.client.plugins.implings;
import com.google.common.eventbus.Subscribe;
import java.awt.Font; import java.awt.Font;
import java.awt.GraphicsEnvironment; import java.awt.GraphicsEnvironment;
import net.runelite.client.RuneLite; import net.runelite.client.RuneLite;
import net.runelite.client.events.ConfigChanged;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.Overlay;
@@ -69,4 +71,10 @@ public class Implings extends Plugin
return overlay; return overlay;
} }
@Subscribe
public void updateConfig(ConfigChanged event)
{
overlay.updateConfig();
}
} }

View File

@@ -24,18 +24,14 @@
*/ */
package net.runelite.client.plugins.implings; package net.runelite.client.plugins.implings;
import com.google.common.base.Suppliers;
import com.google.common.primitives.Ints; import com.google.common.primitives.Ints;
import java.awt.BasicStroke; import java.awt.BasicStroke;
import java.awt.Color; import java.awt.Color;
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 java.util.Arrays;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.List; import java.util.List;
import java.util.concurrent.TimeUnit;
import java.util.function.Supplier;
import net.runelite.api.Actor; import net.runelite.api.Actor;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.GameState; import net.runelite.api.GameState;
@@ -59,7 +55,7 @@ public class ImplingsOverlay extends Overlay
private static final int DYNAMIC_SPAWN = 1633; private static final int DYNAMIC_SPAWN = 1633;
private final ImplingsConfig config; private final ImplingsConfig config;
private final Supplier<List<Integer>> ids = Suppliers.memoizeWithExpiration(this::checkConfig, 1, TimeUnit.SECONDS); private final List<Integer> ids;
private final Client client = RuneLite.getClient(); private final Client client = RuneLite.getClient();
@@ -67,6 +63,7 @@ public class ImplingsOverlay extends Overlay
{ {
super(OverlayPosition.DYNAMIC); super(OverlayPosition.DYNAMIC);
this.config = plugin.getConfig(); this.config = plugin.getConfig();
ids = new LinkedList<>();
} }
@Override @Override
@@ -77,7 +74,7 @@ public class ImplingsOverlay extends Overlay
return null; return null;
} }
NPCQuery implingQuery = new NPCQuery().idEquals(Ints.toArray(ids.get())); NPCQuery implingQuery = new NPCQuery().idEquals(Ints.toArray(ids));
NPC[] implings = client.runQuery(implingQuery); NPC[] implings = client.runQuery(implingQuery);
for (NPC imp : implings) for (NPC imp : implings)
{ {
@@ -90,9 +87,9 @@ public class ImplingsOverlay extends Overlay
} }
// I am aware this is ugly. As always, feedback is welcome // I am aware this is ugly. As always, feedback is welcome
private List<Integer> checkConfig() public void updateConfig()
{ {
List<Integer> ids = new LinkedList<>(); ids.clear();
if (config.showBaby()) if (config.showBaby())
{ {
ids.add(NpcID.BABY_IMPLING); ids.add(NpcID.BABY_IMPLING);
@@ -153,7 +150,6 @@ public class ImplingsOverlay extends Overlay
ids.add(STATIC_SPAWN); ids.add(STATIC_SPAWN);
ids.add(DYNAMIC_SPAWN); ids.add(DYNAMIC_SPAWN);
} }
return ids;
} }
private void drawImp(Graphics2D graphics, Actor actor, String text, Color color) private void drawImp(Graphics2D graphics, Actor actor, String text, Color color)