From d1ede44d497aaa5b71be034b4f53f09060f50664 Mon Sep 17 00:00:00 2001 From: Davis Cook Date: Tue, 12 Feb 2019 02:43:07 -0500 Subject: [PATCH] Add events for slayer amount and task changed --- .../runelite/client/events/SlayerAmountChanged.java | 9 +++++++++ .../runelite/client/events/SlayerTaskChanged.java | 9 +++++++++ .../runelite/client/plugins/slayer/SlayerPlugin.java | 12 ++++++++++++ .../client/plugins/slayer/SlayerTaskPanel.java | 6 ++++++ 4 files changed, 36 insertions(+) create mode 100644 runelite-client/src/main/java/net/runelite/client/events/SlayerAmountChanged.java create mode 100644 runelite-client/src/main/java/net/runelite/client/events/SlayerTaskChanged.java create mode 100644 runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerTaskPanel.java diff --git a/runelite-client/src/main/java/net/runelite/client/events/SlayerAmountChanged.java b/runelite-client/src/main/java/net/runelite/client/events/SlayerAmountChanged.java new file mode 100644 index 0000000000..af94b6a689 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/events/SlayerAmountChanged.java @@ -0,0 +1,9 @@ +package net.runelite.client.events; + +import lombok.Value; + +@Value +public class SlayerAmountChanged +{ + private int oldAmount, newAmount; +} diff --git a/runelite-client/src/main/java/net/runelite/client/events/SlayerTaskChanged.java b/runelite-client/src/main/java/net/runelite/client/events/SlayerTaskChanged.java new file mode 100644 index 0000000000..dc87369020 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/events/SlayerTaskChanged.java @@ -0,0 +1,9 @@ +package net.runelite.client.events; + +import lombok.Value; + +@Value +public class SlayerTaskChanged +{ + private final String oldTask, newTask; +} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java index ff8d6e39bb..2b786890e2 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java @@ -70,8 +70,11 @@ import net.runelite.client.chat.ChatCommandManager; import net.runelite.client.chat.ChatMessageBuilder; import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.config.ConfigManager; +import net.runelite.client.eventbus.EventBus; import net.runelite.client.eventbus.Subscribe; import net.runelite.client.events.ChatInput; +import net.runelite.client.events.SlayerAmountChanged; +import net.runelite.client.events.SlayerTaskChanged; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -170,6 +173,9 @@ public class SlayerPlugin extends Plugin @Inject private ChatClient chatClient; + @Inject + private EventBus eventBus; + @Getter(AccessLevel.PACKAGE) private List highlightedTargets = new ArrayList<>(); @@ -560,6 +566,8 @@ public class SlayerPlugin extends Plugin @VisibleForTesting void killedOne() { + int oldAmount = amount; + if (amount == 0) { return; @@ -572,6 +580,7 @@ public class SlayerPlugin extends Plugin } config.amount(amount); // save changed value + eventBus.post(new SlayerAmountChanged(oldAmount, amount)); if (!config.showInfobox()) { @@ -658,6 +667,8 @@ public class SlayerPlugin extends Plugin private void setTask(String name, int amt, int initAmt, String location) { + String oldName = taskName; + taskName = name; amount = amt; initialAmount = initAmt; @@ -666,6 +677,7 @@ public class SlayerPlugin extends Plugin removeCounter(); addCounter(); infoTimer = Instant.now(); + eventBus.post(new SlayerTaskChanged(oldName, taskName)); Task task = Task.getTask(name); rebuildTargetNames(task); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerTaskPanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerTaskPanel.java new file mode 100644 index 0000000000..b3441a6647 --- /dev/null +++ b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerTaskPanel.java @@ -0,0 +1,6 @@ +package net.runelite.client.plugins.slayer; + +public class SlayerTaskPanel +{ + +}