Refactor AoE

This commit is contained in:
Scott Burns
2019-05-16 00:39:57 +02:00
parent 2aef2ca4c6
commit f9fa235284
4 changed files with 36 additions and 32 deletions

View File

@@ -30,14 +30,14 @@ package net.runelite.client.plugins.aoewarnings;
import java.time.Instant;
import net.runelite.api.coords.LocalPoint;
public class AoeProjectile
class AoeProjectile
{
private final Instant startTime;
private final LocalPoint targetPoint;
private final AoeProjectileInfo aoeProjectileInfo;
private final int projectileLifetime;
public AoeProjectile(Instant startTime, LocalPoint targetPoint, AoeProjectileInfo aoeProjectileInfo, int projectileLifetime)
AoeProjectile(Instant startTime, LocalPoint targetPoint, AoeProjectileInfo aoeProjectileInfo, int projectileLifetime)
{
this.startTime = startTime;
this.targetPoint = targetPoint;
@@ -45,22 +45,22 @@ public class AoeProjectile
this.projectileLifetime = projectileLifetime;
}
public Instant getStartTime()
Instant getStartTime()
{
return startTime;
}
public LocalPoint getTargetPoint()
LocalPoint getTargetPoint()
{
return targetPoint;
}
public AoeProjectileInfo getAoeProjectileInfo()
AoeProjectileInfo getAoeProjectileInfo()
{
return aoeProjectileInfo;
}
public int getProjectileLifetime()
int getProjectileLifetime()
{
return projectileLifetime;
}

View File

@@ -52,7 +52,6 @@ import net.runelite.api.events.GameObjectSpawned;
import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.GameTick;
import net.runelite.api.events.ProjectileMoved;
import net.runelite.client.Notifier;
import net.runelite.client.config.ConfigManager;
import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.plugins.Plugin;
@@ -74,23 +73,28 @@ public class AoeWarningPlugin extends Plugin
@Getter
private final Map<WorldPoint, CrystalBomb> bombs = new HashMap<>();
private final Map<Projectile, AoeProjectile> projectiles = new HashMap<>();
@Inject
public AoeWarningConfig config;
@Inject
private OverlayManager overlayManager;
@Inject
private AoeWarningOverlay coreOverlay;
@Inject
private BombOverlay bombOverlay;
@Inject
private Client client;
@Inject
private Notifier notifier;
@Getter(AccessLevel.PACKAGE)
private List<WorldPoint> LightningTrail = new ArrayList<>();
@Getter(AccessLevel.PACKAGE)
private List<WorldPoint> AcidTrail = new ArrayList<>();
@Getter(AccessLevel.PACKAGE)
private List<WorldPoint> CrystalSpike = new ArrayList<>();
@@ -100,7 +104,7 @@ public class AoeWarningPlugin extends Plugin
return configManager.getConfig(AoeWarningConfig.class);
}
public Map<Projectile, AoeProjectile> getProjectiles()
Map<Projectile, AoeProjectile> getProjectiles()
{
return projectiles;
}
@@ -207,11 +211,8 @@ public class AoeWarningPlugin extends Plugin
}
}
Iterator<Map.Entry<WorldPoint, CrystalBomb>> it = bombs.entrySet().iterator();
while (it.hasNext())
for (Map.Entry<WorldPoint, CrystalBomb> entry : bombs.entrySet())
{
Map.Entry<WorldPoint, CrystalBomb> entry = it.next();
CrystalBomb bomb = entry.getValue();
bomb.bombClockUpdate();
//bombClockUpdate smooths the shown timer; not using this results in 1.2 --> .6 vs. 1.2 --> 1.1, etc.

View File

@@ -24,6 +24,18 @@
*/
package net.runelite.client.plugins.aoewarnings;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics2D;
import java.awt.Polygon;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.time.Instant;
import java.util.Iterator;
import java.util.Locale;
import java.util.Map;
import javax.inject.Inject;
import lombok.extern.slf4j.Slf4j;
import net.runelite.api.Client;
import net.runelite.api.Perspective;
@@ -31,20 +43,11 @@ import net.runelite.api.Player;
import net.runelite.api.Point;
import net.runelite.api.coords.LocalPoint;
import net.runelite.api.coords.WorldPoint;
import net.runelite.client.plugins.aoewarnings.CrystalBomb;
import net.runelite.client.ui.overlay.*;
import javax.inject.Inject;
import java.awt.Graphics2D;
import java.awt.Dimension;
import java.awt.Color;
import java.awt.Polygon;
import java.awt.BasicStroke;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.time.Instant;
import java.util.Iterator;
import java.util.Locale;
import java.util.Map;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayLayer;
import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.client.ui.overlay.OverlayPriority;
import net.runelite.client.ui.overlay.OverlayUtil;
@Slf4j
public class BombOverlay extends Overlay

View File

@@ -24,14 +24,14 @@
*/
package net.runelite.client.plugins.aoewarnings;
import java.time.Instant;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import net.runelite.api.GameObject;
import net.runelite.api.coords.WorldPoint;
import java.time.Instant;
@Slf4j
public class CrystalBomb
class CrystalBomb
{
@Getter
private Instant plantedOn;
@@ -49,7 +49,7 @@ public class CrystalBomb
@Getter
private WorldPoint worldLocation;
public CrystalBomb(GameObject gameObject, int startTick)
CrystalBomb(GameObject gameObject, int startTick)
{
this.plantedOn = Instant.now();
this.objectId = gameObject.getId();
@@ -57,7 +57,7 @@ public class CrystalBomb
this.tickStarted = startTick;
}
public void bombClockUpdate()
void bombClockUpdate()
{
lastClockUpdate = Instant.now();
}