Add south-western tile indicator to NPC indicators (#5551)

Closes #5265
This commit is contained in:
johnhamilto
2018-09-21 01:58:02 -05:00
committed by Tomas Slusny
parent ddd4188a02
commit 7000c252a0
2 changed files with 23 additions and 19 deletions

View File

@@ -147,8 +147,14 @@ public class NpcSceneOverlay extends Overlay
{ {
switch (config.renderStyle()) switch (config.renderStyle())
{ {
case SOUTH_WEST_TILE:
LocalPoint lp1 = LocalPoint.fromWorld(client, actor.getWorldLocation());
Polygon tilePoly1 = Perspective.getCanvasTilePoly(client, lp1);
renderPoly(graphics, color, tilePoly1);
break;
case TILE: case TILE:
{
int size = 1; int size = 1;
NPCComposition composition = actor.getTransformedComposition(); NPCComposition composition = actor.getTransformedComposition();
if (composition != null) if (composition != null)
@@ -158,28 +164,13 @@ public class NpcSceneOverlay extends Overlay
LocalPoint lp = actor.getLocalLocation(); LocalPoint lp = actor.getLocalLocation();
Polygon tilePoly = Perspective.getCanvasTileAreaPoly(client, lp, size); Polygon tilePoly = Perspective.getCanvasTileAreaPoly(client, lp, size);
if (tilePoly != null) renderPoly(graphics, color, tilePoly);
{
graphics.setColor(color);
graphics.setStroke(new BasicStroke(2));
graphics.draw(tilePoly);
graphics.setColor(new Color(color.getRed(), color.getGreen(), color.getBlue(), 20));
graphics.fill(tilePoly);
}
break; break;
}
case HULL: case HULL:
Polygon objectClickbox = actor.getConvexHull(); Polygon objectClickbox = actor.getConvexHull();
if (objectClickbox != null) renderPoly(graphics, color, objectClickbox);
{
graphics.setColor(color);
graphics.setStroke(new BasicStroke(2));
graphics.draw(objectClickbox);
graphics.setColor(new Color(color.getRed(), color.getGreen(), color.getBlue(), 20));
graphics.fill(objectClickbox);
}
break; break;
} }
@@ -193,4 +184,16 @@ public class NpcSceneOverlay extends Overlay
} }
} }
} }
private void renderPoly(Graphics2D graphics, Color color, Polygon polygon)
{
if (polygon != null)
{
graphics.setColor(color);
graphics.setStroke(new BasicStroke(2));
graphics.draw(polygon);
graphics.setColor(new Color(color.getRed(), color.getGreen(), color.getBlue(), 20));
graphics.fill(polygon);
}
}
} }

View File

@@ -28,7 +28,8 @@ public enum RenderStyle
{ {
OFF("Off"), OFF("Off"),
TILE("Tile"), TILE("Tile"),
HULL("Hull"); HULL("Hull"),
SOUTH_WEST_TILE("South West Tile");
private final String name; private final String name;