From 52d5005e84c9a546ea3828221bd8ec423ac764d8 Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 16 Feb 2018 20:44:03 -0500 Subject: [PATCH] fishing plugin: use stats from xp plugin --- .../plugins/fishing/FishingOverlay.java | 25 +++++++++++++++++-- .../client/plugins/fishing/FishingPlugin.java | 3 +++ .../plugins/fishing/FishingSession.java | 7 ++---- 3 files changed, 28 insertions(+), 7 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingOverlay.java index 579ae8bee7..49f2c50e46 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingOverlay.java @@ -30,9 +30,10 @@ import java.awt.Graphics2D; import java.awt.Point; import java.time.Duration; import java.time.Instant; -import javax.annotation.Nullable; import javax.inject.Inject; import net.runelite.api.Client; +import net.runelite.api.Skill; +import net.runelite.client.plugins.xptracker.XpTrackerService; import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.OverlayPosition; import net.runelite.client.ui.overlay.components.PanelComponent; @@ -44,15 +45,18 @@ class FishingOverlay extends Overlay private final Client client; private final FishingPlugin plugin; private final FishingConfig config; + private final XpTrackerService xpTrackerService; + private final PanelComponent panelComponent = new PanelComponent(); @Inject - public FishingOverlay(@Nullable Client client, FishingPlugin plugin, FishingConfig config) + public FishingOverlay(Client client, FishingPlugin plugin, FishingConfig config, XpTrackerService xpTrackerService) { setPosition(OverlayPosition.TOP_LEFT); this.client = client; this.plugin = plugin; this.config = config; + this.xpTrackerService = xpTrackerService; } @Override @@ -85,6 +89,23 @@ class FishingOverlay extends Overlay panelComponent.setTitleColor(Color.RED); } + int actions = xpTrackerService.getActions(Skill.FISHING); + if (actions > 0) + { + panelComponent.getLines().add(new PanelComponent.Line( + "Caught fish:", + Integer.toString(actions) + )); + + if (actions > 2) + { + panelComponent.getLines().add(new PanelComponent.Line( + "Fish/hr:", + Integer.toString(xpTrackerService.getActionsHr(Skill.FISHING)) + )); + } + } + return panelComponent.render(graphics, parent); } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingPlugin.java index b3277e4d98..a1927e48c5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingPlugin.java @@ -43,13 +43,16 @@ import net.runelite.api.events.GameTick; import net.runelite.api.queries.NPCQuery; import net.runelite.client.config.ConfigManager; import net.runelite.client.plugins.Plugin; +import net.runelite.client.plugins.PluginDependency; import net.runelite.client.plugins.PluginDescriptor; +import net.runelite.client.plugins.xptracker.XpTrackerPlugin; import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.util.QueryRunner; @PluginDescriptor( name = "Fishing" ) +@PluginDependency(XpTrackerPlugin.class) @Singleton public class FishingPlugin extends Plugin { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingSession.java b/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingSession.java index 4dd194c70c..99ae01e999 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingSession.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingSession.java @@ -25,18 +25,15 @@ package net.runelite.client.plugins.fishing; import java.time.Instant; +import lombok.Getter; public class FishingSession { + @Getter private Instant lastFishCaught; public void setLastFishCaught() { lastFishCaught = Instant.now(); } - - public Instant getLastFishCaught() - { - return lastFishCaught; - } }