Update almost everything to the new API

This commit is contained in:
Max Weber
2018-03-09 04:51:02 -07:00
parent cf4d5d8333
commit b75dddca28
32 changed files with 157 additions and 174 deletions

View File

@@ -40,12 +40,12 @@ import net.runelite.api.MainBufferProvider;
import net.runelite.api.MenuAction;
import net.runelite.api.MessageNode;
import net.runelite.api.PacketBuffer;
import net.runelite.api.Point;
import net.runelite.api.Projectile;
import net.runelite.api.Region;
import net.runelite.api.RenderOverview;
import net.runelite.api.TextureProvider;
import net.runelite.api.WorldMapManager;
import net.runelite.api.coords.LocalPoint;
import net.runelite.api.events.ChatMessage;
import net.runelite.api.events.GameTick;
import net.runelite.api.events.MenuEntryAdded;
@@ -372,11 +372,11 @@ public class Hooks
*/
public static void projectileMoved(Projectile projectile, int targetX, int targetY, int targetZ, int cycle)
{
Point position = new Point(targetX, targetY);
LocalPoint position = new LocalPoint(targetX, targetY);
ProjectileMoved projectileMoved = new ProjectileMoved();
projectileMoved.setProjectile(projectile);
projectileMoved.setPosition(position);
projectileMoved.setPlane(targetZ);
projectileMoved.setZ(targetZ);
eventBus.post(projectileMoved);
}

View File

@@ -32,6 +32,7 @@ import javax.inject.Inject;
import lombok.extern.slf4j.Slf4j;
import net.runelite.api.Client;
import net.runelite.api.Point;
import net.runelite.api.coords.LocalPoint;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayLayer;
import net.runelite.client.ui.overlay.OverlayPosition;
@@ -56,7 +57,7 @@ public class AgilityOverlay extends Overlay
@Override
public Dimension render(Graphics2D graphics, java.awt.Point parent)
{
Point playerLocation = client.getLocalPlayer().getLocalLocation();
LocalPoint playerLocation = client.getLocalPlayer().getLocalLocation();
Point mousePosition = client.getMouseCanvasPosition();
plugin.getObstacles().forEach((object, tile) ->
{

View File

@@ -25,25 +25,21 @@
package net.runelite.client.plugins.barrows;
import lombok.Getter;
import net.runelite.api.Point;
import lombok.RequiredArgsConstructor;
import net.runelite.api.coords.WorldPoint;
@RequiredArgsConstructor
public enum BarrowsBrothers
{
VERAC("V", new Point(3557, 3298)),
DHAROK("D", new Point(3575, 3298)),
AHRIM("A", new Point(3566, 3289)),
TORAG("T", new Point(3553, 3283)),
KARIL("K", new Point(3566, 3275)),
GUTHAN("G", new Point(3577, 3283));
VERAC("V", new WorldPoint(3557, 3298, 0)),
DHAROK("D", new WorldPoint(3575, 3298, 0)),
AHRIM("A", new WorldPoint(3566, 3289, 0)),
TORAG("T", new WorldPoint(3553, 3283, 0)),
KARIL("K", new WorldPoint(3566, 3275, 0)),
GUTHAN("G", new WorldPoint(3577, 3283, 0));
@Getter
private final String name;
@Getter
private final Point location;
BarrowsBrothers(String name, net.runelite.api.Point location)
{
this.name = name;
this.location = location;
}
private final WorldPoint location;
}

View File

@@ -37,6 +37,7 @@ import net.runelite.api.ObjectComposition;
import net.runelite.api.Perspective;
import net.runelite.api.Player;
import net.runelite.api.WallObject;
import net.runelite.api.coords.LocalPoint;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayLayer;
import net.runelite.client.ui.overlay.OverlayPosition;
@@ -94,12 +95,12 @@ class BarrowsOverlay extends Overlay
return null;
}
private void renderObjects(Graphics2D graphics, Player local)
private void renderObjects(Graphics2D graphics, Player localPlayer)
{
net.runelite.api.Point localLocation = local.getLocalLocation();
LocalPoint localLocation = localPlayer.getLocalLocation();
for (WallObject wall : plugin.getWalls())
{
net.runelite.api.Point location = wall.getLocalLocation();
LocalPoint location = wall.getLocalLocation();
if (localLocation.distanceTo(location) <= MAX_DISTANCE)
{
renderWalls(graphics, wall);
@@ -108,7 +109,7 @@ class BarrowsOverlay extends Overlay
for (GameObject ladder : plugin.getLadders())
{
net.runelite.api.Point location = ladder.getLocalLocation();
LocalPoint location = ladder.getLocalLocation();
if (localLocation.distanceTo(location) <= MAX_DISTANCE)
{
renderLadders(graphics, ladder);
@@ -162,15 +163,15 @@ class BarrowsOverlay extends Overlay
{
for (BarrowsBrothers brother : BarrowsBrothers.values())
{
net.runelite.api.Point location = brother.getLocation();
LocalPoint localLocation = LocalPoint.fromWorld(client, brother.getLocation());
if (!Perspective.isWorldInScene(client, location))
if (localLocation == null)
{
continue;
}
net.runelite.api.Point minimapText = Perspective.getCanvasTextMiniMapLocation(client, graphics,
Perspective.worldToLocal(client, brother.getLocation()), brother.getName());
localLocation, brother.getName());
if (minimapText != null)
{

View File

@@ -32,6 +32,7 @@ import javax.inject.Inject;
import net.runelite.api.Client;
import net.runelite.api.GameObject;
import net.runelite.api.Point;
import net.runelite.api.coords.LocalPoint;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayPosition;
@@ -60,12 +61,12 @@ class ConveyorBeltOverlay extends Overlay
return null;
}
Point localLocation = client.getLocalPlayer().getLocalLocation();
LocalPoint localLocation = client.getLocalPlayer().getLocalLocation();
Point mousePosition = client.getMouseCanvasPosition();
GameObject object = plugin.getConveyorBelt();
Point location = object.getLocalLocation();
LocalPoint location = object.getLocalLocation();
if (localLocation.distanceTo(location) <= MAX_DISTANCE)
{
Area objectClickbox = object.getClickbox();

View File

@@ -33,6 +33,7 @@ import net.runelite.api.Client;
import net.runelite.api.Perspective;
import static net.runelite.api.Perspective.LOCAL_TILE_SIZE;
import net.runelite.api.Point;
import net.runelite.api.coords.LocalPoint;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.client.ui.overlay.OverlayPriority;
@@ -66,19 +67,14 @@ class CannonOverlay extends Overlay
return null;
}
if (!Perspective.isWorldInScene(client, plugin.getCannonPosition()))
{
return null;
}
Point cannonPoint = Perspective.worldToLocal(client, plugin.getCannonPosition());
LocalPoint cannonPoint = LocalPoint.fromWorld(client, plugin.getCannonPosition());
if (cannonPoint == null)
{
return null;
}
Point localLocation = client.getLocalPlayer().getLocalLocation();
LocalPoint localLocation = client.getLocalPlayer().getLocalLocation();
if (localLocation.distanceTo(cannonPoint) <= MAX_DISTANCE)
{
@@ -110,7 +106,7 @@ class CannonOverlay extends Overlay
* Draw the double hit spots on a 6 by 6 grid around the cannon
* @param startTile The position of the cannon
*/
private void drawDoubleHitSpots(Graphics2D graphics, net.runelite.api.Point startTile, Color color)
private void drawDoubleHitSpots(Graphics2D graphics, LocalPoint startTile, Color color)
{
for (int x = -3; x <= 3; x++)
{
@@ -130,7 +126,7 @@ class CannonOverlay extends Overlay
int xPos = startTile.getX() - (x * LOCAL_TILE_SIZE);
int yPos = startTile.getY() - (y * LOCAL_TILE_SIZE);
net.runelite.api.Point marker = new net.runelite.api.Point(xPos, yPos);
LocalPoint marker = new LocalPoint(xPos, yPos);
Polygon poly = Perspective.getCanvasTilePoly(client, marker);
if (poly == null)

View File

@@ -37,11 +37,11 @@ import net.runelite.api.Client;
import net.runelite.api.GameObject;
import net.runelite.api.ItemID;
import static net.runelite.api.ObjectID.CANNON_BASE;
import net.runelite.api.Perspective;
import net.runelite.api.Player;
import net.runelite.api.Projectile;
import static net.runelite.api.ProjectileID.CANNONBALL;
import static net.runelite.api.ProjectileID.GRANITE_CANNONBALL;
import net.runelite.api.coords.WorldPoint;
import net.runelite.api.events.ChatMessage;
import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.GameObjectSpawned;
@@ -71,7 +71,7 @@ public class CannonPlugin extends Plugin
private boolean cannonPlaced;
@Getter
private net.runelite.api.Point cannonPosition;
private WorldPoint cannonPosition;
@Getter
private GameObject cannon;
@@ -159,7 +159,7 @@ public class CannonPlugin extends Plugin
if ((projectile.getId() == CANNONBALL || projectile.getId() == GRANITE_CANNONBALL) && cannonPosition != null)
{
net.runelite.api.Point projectileLoc = Perspective.localToWorld(client, new net.runelite.api.Point(projectile.getX1(), projectile.getY1()));
WorldPoint projectileLoc = WorldPoint.fromLocal(client, projectile.getX1(), projectile.getY1(), client.getPlane());
//Check to see if projectile x,y is 0 else it will continuously decrease while ball is flying.
if (projectileLoc.equals(cannonPosition) && projectile.getX() == 0 && projectile.getY() == 0)

View File

@@ -25,7 +25,6 @@
*/
package net.runelite.client.plugins.devtools;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
@@ -52,6 +51,7 @@ import net.runelite.api.Projectile;
import net.runelite.api.Region;
import net.runelite.api.Tile;
import net.runelite.api.WallObject;
import net.runelite.api.coords.LocalPoint;
import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetInfo;
import net.runelite.api.widgets.WidgetItem;
@@ -341,7 +341,7 @@ public class DevToolsOverlay extends Overlay
int originX = projectile.getX1();
int originY = projectile.getY1();
net.runelite.api.Point tilePoint = new net.runelite.api.Point(originX, originY);
LocalPoint tilePoint = new LocalPoint(originX, originY);
Polygon poly = Perspective.getCanvasTilePoly(client, tilePoint);
if (poly != null)
@@ -372,17 +372,6 @@ public class DevToolsOverlay extends Overlay
}
}
public void renderProjectileOrigin(Graphics2D graphics, Projectile projectile, int floor, net.runelite.api.Point origin)
{
Polygon poly = Perspective.getCanvasTilePoly(client, origin);
graphics.setColor(Color.RED);
graphics.setStroke(new BasicStroke(2));
graphics.drawPolygon(poly);
graphics.setColor(Color.RED);
graphics.fillPolygon(poly);
}
public void renderWidgets(Graphics2D graphics)
{
Widget widget = plugin.currentWidget;

View File

@@ -28,7 +28,7 @@ import java.awt.Dimension;
import java.awt.Graphics2D;
import javax.inject.Inject;
import net.runelite.api.Client;
import net.runelite.api.Point;
import net.runelite.api.coords.WorldPoint;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayPosition;
import net.runelite.client.ui.overlay.components.PanelComponent;
@@ -58,7 +58,7 @@ public class LocationOverlay extends Overlay
panelComponent = new PanelComponent();
Point localWorld = client.getLocalPlayer().getWorldLocation();
WorldPoint localWorld = client.getLocalPlayer().getWorldLocation();
panelComponent.getLines().add(new PanelComponent.Line(
"Tile",

View File

@@ -47,6 +47,7 @@ import net.runelite.api.Player;
import net.runelite.api.Point;
import net.runelite.api.Region;
import net.runelite.api.Tile;
import net.runelite.api.coords.LocalPoint;
import net.runelite.client.game.ItemManager;
import net.runelite.client.ui.FontManager;
import net.runelite.client.ui.overlay.Overlay;
@@ -122,13 +123,13 @@ public class GroundItemsOverlay extends Overlay
graphics.setFont(FontManager.getRunescapeSmallFont());
int z = client.getPlane();
Point from = player.getRegionLocation();
LocalPoint from = player.getLocalLocation();
int lowerX = max(0, from.getX() - MAX_RANGE);
int lowerY = max(0, from.getY() - MAX_RANGE);
int lowerX = max(0, from.getRegionX() - MAX_RANGE);
int lowerY = max(0, from.getRegionY() - MAX_RANGE);
int upperX = min(from.getX() + MAX_RANGE, REGION_SIZE - 1);
int upperY = min(from.getY() + MAX_RANGE, REGION_SIZE - 1);
int upperX = min(from.getRegionX() + MAX_RANGE, REGION_SIZE - 1);
int upperY = min(from.getRegionY() + MAX_RANGE, REGION_SIZE - 1);
for (int x = lowerX; x <= upperX; ++x)
{

View File

@@ -39,7 +39,7 @@ import net.runelite.api.Client;
import net.runelite.api.GameObject;
import net.runelite.api.ObjectID;
import net.runelite.api.Player;
import net.runelite.api.Point;
import net.runelite.api.coords.WorldPoint;
import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.GameObjectSpawned;
import net.runelite.api.events.GameTick;
@@ -321,7 +321,7 @@ public class HunterPlugin extends Plugin
*/
private HunterTrap getTrapFromCollection(GameObject gameObject)
{
final Point gameObjectLocation = gameObject.getWorldLocation();
final WorldPoint gameObjectLocation = gameObject.getWorldLocation();
for (HunterTrap trap : traps)
{

View File

@@ -32,6 +32,7 @@ import java.awt.Point;
import java.awt.geom.Arc2D;
import javax.inject.Inject;
import net.runelite.api.Client;
import net.runelite.api.coords.LocalPoint;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayLayer;
import net.runelite.client.ui.overlay.OverlayPosition;
@@ -108,10 +109,10 @@ public class TrapOverlay extends Overlay
*/
private void drawTraps(Graphics2D graphics)
{
net.runelite.api.Point localLocation = client.getLocalPlayer().getLocalLocation();
LocalPoint localLocation = client.getLocalPlayer().getLocalLocation();
for (HunterTrap trap : plugin.getTraps())
{
net.runelite.api.Point trapLocation = trap.getGameObject().getLocalLocation();
LocalPoint trapLocation = trap.getGameObject().getLocalLocation();
if (trapLocation != null && localLocation.distanceTo(trapLocation) <= MAX_DISTANCE)
{
switch (trap.getState())

View File

@@ -42,6 +42,7 @@ import net.runelite.api.SceneTilePaint;
import net.runelite.api.SpritePixels;
import net.runelite.api.Tile;
import net.runelite.api.WallObject;
import net.runelite.api.coords.LocalPoint;
import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.MapRegionChanged;
import static net.runelite.client.plugins.instancemap.PixelMaps.ALL;
@@ -220,13 +221,14 @@ class InstanceMapOverlay extends Overlay
*/
private void drawPlayerDot(Graphics2D graphics, Player player, Color dotColor, Color outlineColor)
{
Point playerLocation = player.getRegionLocation();
LocalPoint playerLoc = player.getLocalLocation();
Tile[][] tiles = getTiles();
Point localPlayerPoint = new Point(playerLocation.getX(), (tiles[0].length - 1) - playerLocation.getY()); // flip the y value
int tileX = playerLoc.getRegionX();
int tileY = (tiles[0].length - 1) - playerLoc.getRegionY(); // flip the y value
int x = OVERLAY_POSITION.getX() + (int) (localPlayerPoint.getX() * TILE_SIZE * MAP_SCALING);
int y = OVERLAY_POSITION.getY() + (int) (localPlayerPoint.getY() * TILE_SIZE * MAP_SCALING);
int x = OVERLAY_POSITION.getX() + (int) (tileX * TILE_SIZE * MAP_SCALING);
int y = OVERLAY_POSITION.getY() + (int) (tileY * TILE_SIZE * MAP_SCALING);
graphics.setColor(dotColor);
graphics.fillRect(x, y, PLAYER_MARKER_SIZE, PLAYER_MARKER_SIZE);//draw the players point on the map
graphics.setColor(outlineColor);

View File

@@ -40,6 +40,7 @@ import net.runelite.api.Client;
import net.runelite.api.Perspective;
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.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayLayer;
@@ -50,7 +51,7 @@ import static net.runelite.api.Perspective.getCanvasTilePoly;
public class KourendLibraryOverlay extends Overlay
{
private final static Point LIBRARY_CENTER = new Point(1632, 3807);
private final static WorldPoint LIBRARY_CENTER = new WorldPoint(1632, 3807, 1);
private final static int MAXIMUM_DISTANCE = 24;
private final static int ROUGH_ENABLE_DISTANCE = 45;
@@ -76,9 +77,9 @@ public class KourendLibraryOverlay extends Overlay
return null;
}
Point playerLoc = player.getWorldLocation();
WorldPoint playerLoc = player.getWorldLocation();
if (playerLoc.distanceTo(LIBRARY_CENTER) > ROUGH_ENABLE_DISTANCE)
if (playerLoc.distanceTo2D(LIBRARY_CENTER) > ROUGH_ENABLE_DISTANCE)
{
return null;
}
@@ -100,7 +101,7 @@ public class KourendLibraryOverlay extends Overlay
continue;
}
Point localBookcase = Perspective.worldToLocal(client, caseLoc.toPoint());
LocalPoint localBookcase = LocalPoint.fromWorld(client, caseLoc);
Point screenBookcase = Perspective.worldToCanvas(client, localBookcase.getX(), localBookcase.getY(), caseLoc.getPlane(), 25);
if (screenBookcase != null)
@@ -211,7 +212,7 @@ public class KourendLibraryOverlay extends Overlay
.forEach(n ->
{
Book b = library.getCustomerBook();
Point local = n.getLocalLocation();
LocalPoint local = n.getLocalLocation();
Polygon poly = getCanvasTilePoly(client, local);
OverlayUtil.renderPolygon(g, poly, Color.WHITE);
Point screen = Perspective.worldToCanvas(client, local.getX(), local.getY(), client.getPlane(), n.getLogicalHeight());

View File

@@ -35,8 +35,6 @@ import net.runelite.api.AnimationID;
import net.runelite.api.ChatMessageType;
import net.runelite.api.Client;
import net.runelite.api.MenuAction;
import net.runelite.api.Perspective;
import net.runelite.api.Point;
import net.runelite.api.coords.WorldPoint;
import net.runelite.api.events.AnimationChanged;
import net.runelite.api.events.ChatMessage;
@@ -114,8 +112,7 @@ public class KourendLibraryPlugin extends Plugin
{
if (MenuAction.GAME_OBJECT_FIRST_OPTION == menuOpt.getMenuAction() && menuOpt.getMenuTarget().contains("Bookshelf"))
{
Point worldPoint = Perspective.regionToWorld(client, new Point(menuOpt.getId() & 127, menuOpt.getId() >> 7 & 127));
lastBookcaseClick = new WorldPoint(worldPoint.getX(), worldPoint.getY(), client.getPlane());
lastBookcaseClick = WorldPoint.fromLocal(client, menuOpt.getId() & 127, menuOpt.getId() >> 7 & 127, client.getPlane());
}
}

View File

@@ -38,6 +38,7 @@ import net.runelite.api.Player;
import net.runelite.api.Point;
import net.runelite.api.Skill;
import net.runelite.api.WallObject;
import net.runelite.api.coords.LocalPoint;
import net.runelite.client.game.SkillIconManager;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayLayer;
@@ -83,10 +84,10 @@ class MotherlodeRocksOverlay extends Overlay
private void renderTiles(Graphics2D graphics, Player local)
{
Point localLocation = local.getLocalLocation();
LocalPoint localLocation = local.getLocalLocation();
for (WallObject vein : plugin.getVeins())
{
Point location = vein.getLocalLocation();
LocalPoint location = vein.getLocalLocation();
if (localLocation.distanceTo(location) <= MAX_DISTANCE)
{
renderVein(graphics, vein);
@@ -95,7 +96,7 @@ class MotherlodeRocksOverlay extends Overlay
for (GameObject rock : plugin.getRocks())
{
Point location = rock.getLocalLocation();
LocalPoint location = rock.getLocalLocation();
if (localLocation.distanceTo(location) <= MAX_DISTANCE)
{
renderRock(graphics, rock);

View File

@@ -33,7 +33,7 @@ import javax.inject.Inject;
import lombok.Getter;
import net.runelite.api.Client;
import net.runelite.api.Perspective;
import net.runelite.api.Point;
import net.runelite.api.coords.LocalPoint;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayLayer;
import net.runelite.client.ui.overlay.OverlayPosition;
@@ -69,10 +69,10 @@ public class PohOverlay extends Overlay
@Override
public Dimension render(Graphics2D graphics, java.awt.Point parent)
{
Point localLocation = client.getLocalPlayer().getLocalLocation();
LocalPoint localLocation = client.getLocalPlayer().getLocalLocation();
plugin.getPohObjects().forEach((object, tile) ->
{
Point location = object.getLocalLocation();
LocalPoint location = object.getLocalLocation();
if (tile.getPlane() == client.getPlane() && localLocation.distanceTo(location) <= MAX_DISTANCE)
{
PohIcons icon = PohIcons.getIcon(object.getId());

View File

@@ -31,7 +31,7 @@ import java.awt.Polygon;
import javax.inject.Inject;
import lombok.extern.slf4j.Slf4j;
import net.runelite.api.Client;
import net.runelite.api.Point;
import net.runelite.api.coords.LocalPoint;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayLayer;
import net.runelite.client.ui.overlay.OverlayPosition;
@@ -61,7 +61,7 @@ public class RoguesDenOverlay extends Overlay
return null;
}
Point playerLocation = client.getLocalPlayer().getLocalLocation();
LocalPoint playerLocation = client.getLocalPlayer().getLocalLocation();
plugin.getObstaclesHull().forEach((obstacle, tile) ->
{

View File

@@ -51,6 +51,7 @@ import net.runelite.api.Client;
import net.runelite.api.DecorativeObject;
import net.runelite.api.Perspective;
import net.runelite.api.Point;
import net.runelite.api.coords.LocalPoint;
import net.runelite.client.game.ItemManager;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayLayer;
@@ -89,10 +90,10 @@ class AbyssOverlay extends Overlay
return null;
}
Point localLocation = client.getLocalPlayer().getLocalLocation();
LocalPoint localLocation = client.getLocalPlayer().getLocalLocation();
for (DecorativeObject object : plugin.getAbyssObjects())
{
Point location = object.getLocalLocation();
LocalPoint location = object.getLocalLocation();
if (localLocation.distanceTo(location) <= MAX_DISTANCE)
{
renderRifts(graphics, object);

View File

@@ -24,13 +24,12 @@
*/
package net.runelite.client.plugins.tileindicators;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics2D;
import java.awt.Polygon;
import net.runelite.api.Client;
import net.runelite.api.Perspective;
import net.runelite.api.Point;
import net.runelite.api.coords.LocalPoint;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayLayer;
import net.runelite.client.ui.overlay.OverlayPosition;
@@ -54,24 +53,20 @@ public class TileIndicatorsOverlay extends Overlay
@Override
public Dimension render(Graphics2D graphics, java.awt.Point parent)
{
if (client.getSceneDestinationLocation().getX() > 0
&& client.getSceneDestinationLocation().getY() > 0)
LocalPoint dest = client.getLocalDestinationLocation();
if (dest == null)
{
drawRegionTile(graphics, client.getSceneDestinationLocation(), config.highlightDestinationColor());
return null;
}
Polygon poly = Perspective.getCanvasTilePoly(client, dest);
if (poly == null)
{
return null;
}
OverlayUtil.renderPolygon(graphics, poly, config.highlightDestinationColor());
return null;
}
private void drawRegionTile(Graphics2D graphics, Point tile, Color color)
{
Point localTile = Perspective.regionToLocal(client, tile);
localTile = new Point(localTile.getX() + Perspective.LOCAL_TILE_SIZE / 2, localTile.getY() + Perspective.LOCAL_TILE_SIZE / 2);
Polygon poly = Perspective.getCanvasTilePoly(client, localTile);
if (poly != null)
{
OverlayUtil.renderPolygon(graphics, poly, color);
}
}
}