Merge pull request #368 from runelite-extended/freezetimers

Update FreezeTimersOverlay.java
This commit is contained in:
Tyler Bochard
2019-05-23 05:11:35 -04:00
committed by GitHub
2 changed files with 20 additions and 23 deletions

View File

@@ -25,7 +25,6 @@
*/ */
package net.runelite.client.plugins.freezetimers; package net.runelite.client.plugins.freezetimers;
import com.google.common.eventbus.Subscribe;
import java.awt.Color; import java.awt.Color;
import static java.awt.Color.RED; import static java.awt.Color.RED;
import static java.awt.Color.WHITE; import static java.awt.Color.WHITE;
@@ -34,14 +33,10 @@ import java.awt.Font;
import java.awt.Graphics2D; import java.awt.Graphics2D;
import java.awt.Polygon; import java.awt.Polygon;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import java.util.Map;
import java.util.HashMap;
import javax.inject.Inject; import javax.inject.Inject;
import net.runelite.api.Actor; import net.runelite.api.Actor;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.events.PlayerDespawned;
import net.runelite.api.GraphicID; import net.runelite.api.GraphicID;
import net.runelite.api.Player;
import net.runelite.api.Point; import net.runelite.api.Point;
import net.runelite.client.ui.FontManager; import net.runelite.client.ui.FontManager;
import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.Overlay;
@@ -53,7 +48,6 @@ import net.runelite.client.util.ImageUtil;
public class FreezeTimersOverlay extends Overlay public class FreezeTimersOverlay extends Overlay
{ {
private final Map<String, FreezeInfo> freezes = new HashMap<>();
private final FreezeTimersConfig config; private final FreezeTimersConfig config;
private final Client client; private final Client client;
private final Font timerFont = FontManager.getRunescapeBoldFont().deriveFont(14.0f); private final Font timerFont = FontManager.getRunescapeBoldFont().deriveFont(14.0f);
@@ -64,7 +58,7 @@ public class FreezeTimersOverlay extends Overlay
private Timers timers; private Timers timers;
private boolean lock; private boolean lock;
private long finishedAtTest; private long finishedAtTest;
private Actor player;
@Inject @Inject
public FreezeTimersOverlay(FreezeTimersConfig config, Client client) public FreezeTimersOverlay(FreezeTimersConfig config, Client client)
@@ -90,22 +84,6 @@ public class FreezeTimersOverlay extends Overlay
return null; return null;
} }
@Subscribe
public void onPlayerDespawned(PlayerDespawned playerDespawned)
{
final Player player = playerDespawned.getPlayer();
// All despawns ok: death, teleports, log out, runs away from screen
if (config.showPlayers() | config.showNpcs() | config.FreezeTimers() | config.Veng() | config.TB())
{
this.remove(player);
}
}
public void remove(Actor actor)
{
freezes.remove(actor.getName());
}
private void renderOverlayFor(Graphics2D g, Actor actor) private void renderOverlayFor(Graphics2D g, Actor actor)
{ {
if (timers.areAllTimersZero(actor)) if (timers.areAllTimersZero(actor))

View File

@@ -26,15 +26,20 @@ package net.runelite.client.plugins.freezetimers;
import com.google.inject.Provides; import com.google.inject.Provides;
import javax.inject.Inject; import javax.inject.Inject;
import net.runelite.api.Actor;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.Player;
import net.runelite.api.events.GameTick; import net.runelite.api.events.GameTick;
import net.runelite.api.events.GraphicChanged; import net.runelite.api.events.GraphicChanged;
import net.runelite.api.events.PlayerDespawned;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
import net.runelite.client.eventbus.Subscribe; import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.PluginType; import net.runelite.client.plugins.PluginType;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
import java.util.HashMap;
import java.util.Map;
@PluginDescriptor( @PluginDescriptor(
name = "Freeze Timers", name = "Freeze Timers",
@@ -44,6 +49,8 @@ import net.runelite.client.ui.overlay.OverlayManager;
) )
public class FreezeTimersPlugin extends Plugin public class FreezeTimersPlugin extends Plugin
{ {
private final Map<String, FreezeInfo> freezes = new HashMap<>();
private Actor player;
@Inject @Inject
private Client client; private Client client;
@@ -110,4 +117,16 @@ public class FreezeTimersPlugin extends Plugin
prayerTracker.gameTick(); prayerTracker.gameTick();
} }
@Subscribe
public void onPlayerDespawned(PlayerDespawned playerDespawned)
{
final Player player = playerDespawned.getPlayer();
// All despawns ok: death, teleports, log out, runs away from screen
this.remove(player);
}
public void remove(Actor actor)
{
freezes.remove(actor.getName());
}
} }