Merge pull request #618 from sethtroll/removeviewportcontains
Remove viewport contains from cannon/hunter plugin
This commit is contained in:
@@ -27,13 +27,12 @@ package net.runelite.client.plugins.cannon;
|
|||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.awt.Graphics2D;
|
import java.awt.Graphics2D;
|
||||||
import java.awt.Point;
|
|
||||||
import java.awt.Polygon;
|
import java.awt.Polygon;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
import net.runelite.api.Perspective;
|
import net.runelite.api.Perspective;
|
||||||
import static net.runelite.api.Perspective.LOCAL_TILE_SIZE;
|
import static net.runelite.api.Perspective.LOCAL_TILE_SIZE;
|
||||||
import net.runelite.api.widgets.Widget;
|
import net.runelite.api.Point;
|
||||||
import net.runelite.client.ui.overlay.Overlay;
|
import net.runelite.client.ui.overlay.Overlay;
|
||||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||||
import net.runelite.client.ui.overlay.OverlayPriority;
|
import net.runelite.client.ui.overlay.OverlayPriority;
|
||||||
@@ -42,6 +41,8 @@ import net.runelite.client.ui.overlay.components.TextComponent;
|
|||||||
|
|
||||||
class CannonOverlay extends Overlay
|
class CannonOverlay extends Overlay
|
||||||
{
|
{
|
||||||
|
private static final int MAX_DISTANCE = 2500;
|
||||||
|
|
||||||
private final Client client;
|
private final Client client;
|
||||||
private final CannonConfig config;
|
private final CannonConfig config;
|
||||||
private final CannonPlugin plugin;
|
private final CannonPlugin plugin;
|
||||||
@@ -58,7 +59,7 @@ class CannonOverlay extends Overlay
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Dimension render(Graphics2D graphics, Point parent)
|
public Dimension render(Graphics2D graphics, java.awt.Point parent)
|
||||||
{
|
{
|
||||||
if (!plugin.isCannonPlaced() || plugin.getCannonPosition() == null)
|
if (!plugin.isCannonPlaced() || plugin.getCannonPosition() == null)
|
||||||
{
|
{
|
||||||
@@ -70,37 +71,35 @@ class CannonOverlay extends Overlay
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
net.runelite.api.Point cannonPoint = Perspective.worldToLocal(client, plugin.getCannonPosition());
|
Point cannonPoint = Perspective.worldToLocal(client, plugin.getCannonPosition());
|
||||||
|
|
||||||
if (cannonPoint == null)
|
if (cannonPoint == null)
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
net.runelite.api.Point cannonLoc = Perspective.getCanvasTextLocation(client,
|
Point localLocation = client.getLocalPlayer().getLocalLocation();
|
||||||
graphics,
|
|
||||||
cannonPoint,
|
|
||||||
String.valueOf(plugin.getCballsLeft()), 200);
|
|
||||||
|
|
||||||
Widget viewport = client.getViewportWidget();
|
if (localLocation.distanceTo(cannonPoint) <= MAX_DISTANCE)
|
||||||
|
|
||||||
if (viewport == null)
|
|
||||||
{
|
{
|
||||||
return null;
|
Point cannonLoc = Perspective.getCanvasTextLocation(client,
|
||||||
}
|
graphics,
|
||||||
|
cannonPoint,
|
||||||
|
String.valueOf(plugin.getCballsLeft()), 200);
|
||||||
|
|
||||||
if (cannonLoc != null && viewport.contains(cannonLoc))
|
if (cannonLoc != null)
|
||||||
{
|
{
|
||||||
textComponent.setText(String.valueOf(plugin.getCballsLeft()));
|
textComponent.setText(String.valueOf(plugin.getCballsLeft()));
|
||||||
textComponent.setPosition(new Point(cannonLoc.getX(), cannonLoc.getY()));
|
textComponent.setPosition(new java.awt.Point(cannonLoc.getX(), cannonLoc.getY()));
|
||||||
textComponent.setColor(plugin.getStateColor());
|
textComponent.setColor(plugin.getStateColor());
|
||||||
textComponent.render(graphics, parent);
|
textComponent.render(graphics, parent);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (config.showDoubleHitSpot())
|
if (config.showDoubleHitSpot())
|
||||||
{
|
{
|
||||||
Color color = config.highlightDoubleHitColor();
|
Color color = config.highlightDoubleHitColor();
|
||||||
drawDoubleHitSpots(graphics, cannonPoint, color);
|
drawDoubleHitSpots(graphics, cannonPoint, color);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -32,7 +32,6 @@ import java.awt.Point;
|
|||||||
import java.awt.geom.Arc2D;
|
import java.awt.geom.Arc2D;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
import net.runelite.api.widgets.Widget;
|
|
||||||
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;
|
||||||
@@ -43,6 +42,8 @@ import net.runelite.client.ui.overlay.OverlayPosition;
|
|||||||
*/
|
*/
|
||||||
public class TrapOverlay extends Overlay
|
public class TrapOverlay extends Overlay
|
||||||
{
|
{
|
||||||
|
private static final int MAX_DISTANCE = 2500;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Size of the trap timer.
|
* Size of the trap timer.
|
||||||
*/
|
*/
|
||||||
@@ -107,11 +108,11 @@ public class TrapOverlay extends Overlay
|
|||||||
*/
|
*/
|
||||||
private void drawTraps(Graphics2D graphics)
|
private void drawTraps(Graphics2D graphics)
|
||||||
{
|
{
|
||||||
Widget viewport = client.getViewportWidget();
|
net.runelite.api.Point localLocation = client.getLocalPlayer().getLocalLocation();
|
||||||
for (HunterTrap trap : plugin.getTraps())
|
for (HunterTrap trap : plugin.getTraps())
|
||||||
{
|
{
|
||||||
net.runelite.api.Point trapLoc = trap.getGameObject().getCanvasLocation();
|
net.runelite.api.Point trapLocation = trap.getGameObject().getLocalLocation();
|
||||||
if (viewport != null && trapLoc != null && viewport.contains(trapLoc))
|
if (trapLocation != null && localLocation.distanceTo(trapLocation) <= MAX_DISTANCE)
|
||||||
{
|
{
|
||||||
switch (trap.getState())
|
switch (trap.getState())
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user