Merge pull request #84 from RobinWeymans/imp-plugin
Use events instead of Guava for config changes
This commit is contained in:
@@ -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();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user