This commit is contained in:
Adam
2019-05-11 15:58:11 -04:00
parent 75f835f322
commit bb3463bbce
4 changed files with 33 additions and 3 deletions

View File

@@ -1,10 +1,11 @@
package net.runelite.client.plugins.dpscounter;
import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;
@ConfigGroup("dpscounter")
public interface DpsConfig
public interface DpsConfig extends Config
{
@ConfigItem(
position = 0,

View File

@@ -128,6 +128,12 @@ public class DpsCounterPlugin extends Plugin
DpsMember dpsMember = members.computeIfAbsent(name, n -> new DpsMember(name));
dpsMember.addDamage(hit);
if (dpsMember.isPaused())
{
dpsMember.unpause();
log.debug("Unpausing {}", dpsMember.getName());
}
if (hit > 0 && !partyService.getMembers().isEmpty())
{
// Check the player is attacking the boss
@@ -162,6 +168,12 @@ public class DpsCounterPlugin extends Plugin
DpsMember dpsMember = members.computeIfAbsent(name, DpsMember::new);
dpsMember.addDamage(dpsUpdate.getHit());
if (dpsMember.isPaused())
{
dpsMember.unpause();
log.debug("Unpausing {}", dpsMember.getName());
}
}
@Subscribe

View File

@@ -1,5 +1,6 @@
package net.runelite.client.plugins.dpscounter;
import java.time.Duration;
import java.time.Instant;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
@@ -34,4 +35,20 @@ class DpsMember
{
end = Instant.now();
}
boolean isPaused()
{
return end != null;
}
void unpause()
{
if (end == null)
{
return;
}
start = start.plus(Duration.between(end, Instant.now());
end = null;
}
}

View File

@@ -5,7 +5,7 @@ import java.awt.Graphics2D;
import java.text.DecimalFormat;
import java.util.Map;
import javax.inject.Inject;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayMenuEntry;
import net.runelite.client.ui.overlay.components.LineComponent;
@@ -30,7 +30,7 @@ public class DpsOverlay extends Overlay
this.dpsCounterPlugin = dpsCounterPlugin;
this.dpsConfig = dpsConfig;
this.partyService = partyService;
getMenuEntries().add(new OverlayMenuEntry(RUNELITE_OVERLAY_CONFIG, "Reset", "DPS counter"));
getMenuEntries().add(new OverlayMenuEntry(RUNELITE_OVERLAY, "Reset", "DPS counter"));
}
@Override