From 47b68dee04b04ecad26013c34d840660a31f79f9 Mon Sep 17 00:00:00 2001 From: Scott Burns Date: Thu, 16 May 2019 00:57:19 +0200 Subject: [PATCH] Refactor LootAssist --- .../plugins/lootassist/LootAssistOverlay.java | 61 ++++++++----------- .../plugins/lootassist/LootAssistPlugin.java | 12 +--- .../client/plugins/lootassist/LootPile.java | 16 +++-- 3 files changed, 38 insertions(+), 51 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/lootassist/LootAssistOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/lootassist/LootAssistOverlay.java index 887aff4f4d..132c98e33c 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/lootassist/LootAssistOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/lootassist/LootAssistOverlay.java @@ -5,7 +5,6 @@ import java.awt.Dimension; import java.awt.Graphics2D; import java.awt.Polygon; import java.text.DecimalFormat; -import java.util.HashMap; import java.util.Map; import javax.inject.Inject; import net.runelite.api.Client; @@ -21,16 +20,12 @@ import net.runelite.client.ui.overlay.OverlayUtil; public class LootAssistOverlay extends Overlay { - - - private LootAssistPlugin plugin; private Client client; private DecimalFormat d = new DecimalFormat("##.#"); @Inject - public LootAssistOverlay(Client client, LootAssistPlugin plugin) + public LootAssistOverlay(Client client) { - this.plugin = plugin; this.client = client; setLayer(OverlayLayer.ABOVE_SCENE); setPosition(OverlayPosition.DYNAMIC); @@ -48,9 +43,7 @@ public class LootAssistOverlay extends Overlay int y; try { - x = LocalPoint.fromWorld(client, pile.getLocation()).getSceneX(); - y = LocalPoint.fromWorld(client, pile.getLocation()).getSceneY(); } catch (NullPointerException e) @@ -73,32 +66,32 @@ public class LootAssistOverlay extends Overlay { String nameOverlay = pile.getPlayerName(); String timeOverlay = d.format((pile.getTimeAppearing() - System.currentTimeMillis()) / 1000f); - final Polygon poly = Perspective.getCanvasTilePoly(client, - client.getScene().getTiles()[client.getPlane()][x][y].getLocalLocation()); - if (poly != null) - { - Point textLoc = Perspective.getCanvasTextLocation(client, graphics, - LocalPoint.fromWorld(client, pile.getLocation()), - nameOverlay, graphics.getFontMetrics().getHeight() * 7); - Point timeLoc = Perspective.getCanvasTextLocation(client, graphics, - LocalPoint.fromWorld(client, pile.getLocation()), - timeOverlay, graphics.getFontMetrics().getHeight()); - OverlayUtil.renderPolygon(graphics, poly, Color.WHITE); - if (timeRemaining < 5) - { - OverlayUtil.renderTextLocation(graphics, timeLoc, timeOverlay, Color.RED); - OverlayUtil.renderTextLocation(graphics, textLoc, nameOverlay, Color.RED); - } - if (timeRemaining < 2) - { - client.setHintArrow(WorldPoint.fromLocal(client, - LocalPoint.fromWorld(client, pile.getLocation()))); - } - else - { - OverlayUtil.renderTextLocation(graphics, timeLoc, timeOverlay, Color.WHITE); - OverlayUtil.renderTextLocation(graphics, textLoc, nameOverlay, Color.WHITE); - } + final Polygon poly = Perspective.getCanvasTilePoly(client, + client.getScene().getTiles()[client.getPlane()][x][y].getLocalLocation()); + if (poly != null) + { + Point textLoc = Perspective.getCanvasTextLocation(client, graphics, + LocalPoint.fromWorld(client, pile.getLocation()), + nameOverlay, graphics.getFontMetrics().getHeight() * 7); + Point timeLoc = Perspective.getCanvasTextLocation(client, graphics, + LocalPoint.fromWorld(client, pile.getLocation()), + timeOverlay, graphics.getFontMetrics().getHeight()); + OverlayUtil.renderPolygon(graphics, poly, Color.WHITE); + if (timeRemaining < 5) + { + OverlayUtil.renderTextLocation(graphics, timeLoc, timeOverlay, Color.RED); + OverlayUtil.renderTextLocation(graphics, textLoc, nameOverlay, Color.RED); + } + if (timeRemaining < 2) + { + client.setHintArrow(WorldPoint.fromLocal(client, + LocalPoint.fromWorld(client, pile.getLocation()))); + } + else + { + OverlayUtil.renderTextLocation(graphics, timeLoc, timeOverlay, Color.WHITE); + OverlayUtil.renderTextLocation(graphics, textLoc, nameOverlay, Color.WHITE); + } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/lootassist/LootAssistPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/lootassist/LootAssistPlugin.java index 066a24c87e..5583bab542 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/lootassist/LootAssistPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/lootassist/LootAssistPlugin.java @@ -2,13 +2,11 @@ package net.runelite.client.plugins.lootassist; import com.google.inject.Provides; import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.CopyOnWriteArrayList; import javax.inject.Inject; import net.runelite.api.Actor; import net.runelite.api.AnimationID; import net.runelite.api.Client; import net.runelite.api.Player; -import net.runelite.api.coords.LocalPoint; import net.runelite.api.coords.WorldPoint; import net.runelite.api.events.AnimationChanged; import net.runelite.api.events.GameStateChanged; @@ -28,21 +26,13 @@ import net.runelite.client.ui.overlay.OverlayManager; ) public class LootAssistPlugin extends Plugin { - - @Inject - private Client client; - @Inject OverlayManager overlayManager; @Inject LootAssistOverlay lootAssistOverlay; - @Inject - private LootAssitConfig config; - - - public static ConcurrentHashMap lootPiles = new ConcurrentHashMap<>(); + static ConcurrentHashMap lootPiles = new ConcurrentHashMap<>(); @Provides LootAssitConfig getConfig(ConfigManager configManager) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/lootassist/LootPile.java b/runelite-client/src/main/java/net/runelite/client/plugins/lootassist/LootPile.java index 871e6066d4..4e2e5125d0 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/lootassist/LootPile.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/lootassist/LootPile.java @@ -5,24 +5,28 @@ import lombok.Setter; import net.runelite.api.coords.LocalPoint; import net.runelite.api.coords.WorldPoint; -public class LootPile +class LootPile { private static final long TIME_UNTIL_VISIBLE = 60000; - private final long timeCreated; + @Getter private final long timeAppearing; + @Getter private final WorldPoint location; + @Getter private final String playerName; - @Getter @Setter + + @Getter + @Setter private boolean beingRendered = false; - public LootPile(WorldPoint location, String playerName) + LootPile(WorldPoint location, String playerName) { - this.timeCreated = System.currentTimeMillis(); + long timeCreated = System.currentTimeMillis(); this.location = location; this.playerName = playerName; - this.timeAppearing = this.timeCreated + TIME_UNTIL_VISIBLE; + this.timeAppearing = timeCreated + TIME_UNTIL_VISIBLE; } }