Make ProgressPie follow component pattern

- Implement RenderableEntiry
- Create setters for position and progress

Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
This commit is contained in:
Tomas Slusny
2018-05-06 20:01:14 +02:00
parent 7e45dfd7f2
commit 41d8884493
2 changed files with 19 additions and 7 deletions

View File

@@ -37,7 +37,7 @@ import net.runelite.api.coords.WorldPoint;
import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayLayer; import net.runelite.client.ui.overlay.OverlayLayer;
import net.runelite.client.ui.overlay.OverlayPosition; import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.client.ui.overlay.components.ProgressPie; import net.runelite.client.ui.overlay.components.ProgressPieComponent;
/** /**
* Represents the overlay that shows timers on traps that are placed by the * Represents the overlay that shows timers on traps that are placed by the
@@ -148,10 +148,12 @@ public class TrapOverlay extends Overlay
double timeLeft = 1 - trap.getTrapTimeRelative(); double timeLeft = 1 - trap.getTrapTimeRelative();
ProgressPie pie = new ProgressPie(); ProgressPieComponent pie = new ProgressPieComponent();
pie.setFill(timeLeft > TIMER_LOW ? fill : fillTimeLow); pie.setFill(timeLeft > TIMER_LOW ? fill : fillTimeLow);
pie.setBorderColor(timeLeft > TIMER_LOW ? border : borderTimeLow); pie.setBorderColor(timeLeft > TIMER_LOW ? border : borderTimeLow);
pie.render(graphics, loc, timeLeft); pie.setPosition(loc);
pie.setProgress(timeLeft);
pie.render(graphics);
} }
/** /**
@@ -175,9 +177,11 @@ public class TrapOverlay extends Overlay
} }
net.runelite.api.Point loc = Perspective.worldToCanvas(client, localLoc.getX(), localLoc.getY(), trap.getWorldLocation().getPlane()); net.runelite.api.Point loc = Perspective.worldToCanvas(client, localLoc.getX(), localLoc.getY(), trap.getWorldLocation().getPlane());
ProgressPie pie = new ProgressPie(); ProgressPieComponent pie = new ProgressPieComponent();
pie.setFill(fill); pie.setFill(fill);
pie.setBorderColor(border); pie.setBorderColor(border);
pie.render(graphics, loc, 1); pie.setPosition(loc);
pie.setProgress(1);
pie.render(graphics);
} }
} }

View File

@@ -32,9 +32,10 @@ import java.awt.Stroke;
import java.awt.geom.Arc2D; import java.awt.geom.Arc2D;
import lombok.Setter; import lombok.Setter;
import net.runelite.api.Point; import net.runelite.api.Point;
import net.runelite.client.ui.overlay.RenderableEntity;
public class ProgressPie public class ProgressPieComponent implements RenderableEntity
{ {
@Setter @Setter
private int diameter = 25; private int diameter = 25;
@@ -48,7 +49,14 @@ public class ProgressPie
@Setter @Setter
private Stroke stroke = new BasicStroke(1); private Stroke stroke = new BasicStroke(1);
public Dimension render(Graphics2D graphics, Point position, double progress) @Setter
private double progress;
@Setter
private Point position;
@Override
public Dimension render(Graphics2D graphics)
{ {
//Construct the arc //Construct the arc
Arc2D.Float arc = new Arc2D.Float(Arc2D.PIE); Arc2D.Float arc = new Arc2D.Float(Arc2D.PIE);