Move common game state and interface checks to overlay
This commit is contained in:
@@ -34,7 +34,6 @@ import java.util.Map;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.inject.Inject;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.GameState;
|
||||
import net.runelite.api.Perspective;
|
||||
import net.runelite.api.Projectile;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
@@ -61,7 +60,7 @@ public class AoeWarningOverlay extends Overlay
|
||||
@Override
|
||||
public Dimension render(Graphics2D graphics)
|
||||
{
|
||||
if (client.getGameState() != GameState.LOGGED_IN || !config.enabled())
|
||||
if (!config.enabled())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -33,7 +33,6 @@ import java.awt.Rectangle;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.inject.Inject;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.GameState;
|
||||
import net.runelite.api.widgets.Widget;
|
||||
import net.runelite.api.widgets.WidgetInfo;
|
||||
import net.runelite.client.ui.FontManager;
|
||||
@@ -67,7 +66,7 @@ public class AttackIndicatorOverlay extends Overlay
|
||||
@Override
|
||||
public Dimension render(Graphics2D graphics)
|
||||
{
|
||||
if (!config.enabled() || client.getGameState() != GameState.LOGGED_IN)
|
||||
if (!config.enabled())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -32,7 +32,6 @@ import java.awt.Graphics2D;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.inject.Inject;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.GameState;
|
||||
import net.runelite.api.Skill;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||
@@ -76,7 +75,7 @@ class BoostsOverlay extends Overlay
|
||||
@Override
|
||||
public Dimension render(Graphics2D graphics)
|
||||
{
|
||||
if (client.getGameState() != GameState.LOGGED_IN || !config.enabled())
|
||||
if (!config.enabled())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -35,7 +35,6 @@ import java.time.Instant;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.inject.Inject;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.GameState;
|
||||
import net.runelite.api.ItemComposition;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||
@@ -70,7 +69,7 @@ public class ClueScrollOverlay extends Overlay
|
||||
@Override
|
||||
public Dimension render(Graphics2D graphics)
|
||||
{
|
||||
if (client.getGameState() != GameState.LOGGED_IN || !config.enabled())
|
||||
if (!config.enabled())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -39,7 +39,6 @@ import javax.inject.Inject;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.DecorativeObject;
|
||||
import net.runelite.api.GameObject;
|
||||
import net.runelite.api.GameState;
|
||||
import net.runelite.api.GroundObject;
|
||||
import net.runelite.api.Item;
|
||||
import net.runelite.api.ItemLayer;
|
||||
@@ -88,11 +87,6 @@ public class DevToolsOverlay extends Overlay
|
||||
@Override
|
||||
public Dimension render(Graphics2D graphics)
|
||||
{
|
||||
if (client.getGameState() != GameState.LOGGED_IN)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
Font font = plugin.getFont();
|
||||
if (font != null)
|
||||
{
|
||||
|
||||
@@ -33,7 +33,6 @@ import java.time.Instant;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.inject.Inject;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.GameState;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||
import net.runelite.client.ui.overlay.OverlayPriority;
|
||||
@@ -67,7 +66,7 @@ class FishingOverlay extends Overlay
|
||||
@Override
|
||||
public Dimension render(Graphics2D graphics)
|
||||
{
|
||||
if (client.getGameState() != GameState.LOGGED_IN || !config.enabled())
|
||||
if (!config.enabled())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -34,7 +34,6 @@ import java.util.List;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.inject.Inject;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.GameState;
|
||||
import net.runelite.api.NPC;
|
||||
import net.runelite.api.queries.NPCQuery;
|
||||
import net.runelite.client.RuneLite;
|
||||
@@ -66,7 +65,7 @@ class FishingSpotOverlay extends Overlay
|
||||
@Override
|
||||
public Dimension render(Graphics2D graphics)
|
||||
{
|
||||
if (client.getGameState() != GameState.LOGGED_IN || !config.enabled())
|
||||
if (!config.enabled())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -33,7 +33,6 @@ import java.awt.geom.Rectangle2D;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.inject.Inject;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.GameState;
|
||||
import net.runelite.api.widgets.Widget;
|
||||
import net.runelite.api.widgets.WidgetInfo;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
@@ -56,11 +55,6 @@ public class FPSOverlay extends Overlay
|
||||
@Override
|
||||
public Dimension render(Graphics2D graphics)
|
||||
{
|
||||
if (client.getGameState() != GameState.LOGGED_IN)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
Font font = plugin.getFont();
|
||||
if (font != null)
|
||||
{
|
||||
|
||||
@@ -42,7 +42,6 @@ import java.util.concurrent.TimeUnit;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.inject.Inject;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.GameState;
|
||||
import net.runelite.api.Item;
|
||||
import net.runelite.api.ItemComposition;
|
||||
import net.runelite.api.ItemLayer;
|
||||
@@ -52,7 +51,6 @@ import net.runelite.api.Point;
|
||||
import net.runelite.api.Region;
|
||||
import net.runelite.api.Tile;
|
||||
import net.runelite.api.widgets.Widget;
|
||||
import net.runelite.api.widgets.WidgetInfo;
|
||||
import net.runelite.client.game.ItemManager;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||
@@ -116,18 +114,6 @@ public class GroundItemsOverlay extends Overlay
|
||||
@Override
|
||||
public Dimension render(Graphics2D graphics)
|
||||
{
|
||||
// won't draw if not logged in
|
||||
if (client.getGameState() != GameState.LOGGED_IN || !config.enabled())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
//if the player is logged in but viewing the click to play screen exit
|
||||
if (client.getWidget(WidgetInfo.LOGIN_CLICK_TO_PLAY_SCREEN) != null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
Widget viewport = client.getViewportWidget();
|
||||
|
||||
if (viewport != null)
|
||||
|
||||
@@ -36,7 +36,6 @@ import javax.annotation.Nullable;
|
||||
import javax.inject.Inject;
|
||||
import net.runelite.api.Actor;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.GameState;
|
||||
import net.runelite.api.NPC;
|
||||
import net.runelite.api.NpcID;
|
||||
import net.runelite.api.Point;
|
||||
@@ -73,11 +72,6 @@ public class ImplingsOverlay extends Overlay
|
||||
@Override
|
||||
public Dimension render(Graphics2D graphics)
|
||||
{
|
||||
if (client.getGameState() != GameState.LOGGED_IN)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
NPCQuery implingQuery = new NPCQuery().idEquals(Ints.toArray(ids));
|
||||
NPC[] implings = runelite.runQuery(implingQuery);
|
||||
for (NPC imp : implings)
|
||||
|
||||
@@ -32,7 +32,6 @@ import javax.annotation.Nullable;
|
||||
import javax.inject.Inject;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.GameObject;
|
||||
import net.runelite.api.GameState;
|
||||
import net.runelite.api.GroundObject;
|
||||
import net.runelite.api.IndexedSprite;
|
||||
import net.runelite.api.ObjectComposition;
|
||||
@@ -172,7 +171,7 @@ class InstanceMapOverlay extends Overlay
|
||||
@Override
|
||||
public Dimension render(Graphics2D graphics)
|
||||
{
|
||||
if (client.getGameState() != GameState.LOGGED_IN || !config.enabled() || !showMap)
|
||||
if (!config.enabled() || !showMap)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -35,7 +35,6 @@ import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import javax.inject.Inject;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.GameState;
|
||||
import net.runelite.api.Query;
|
||||
import net.runelite.api.queries.EquipmentItemQuery;
|
||||
import net.runelite.api.queries.InventoryItemQuery;
|
||||
@@ -60,14 +59,13 @@ class JewelleryCountOverlay extends Overlay
|
||||
this.runelite = runelite;
|
||||
this.client = runelite.getClient();
|
||||
this.config = config;
|
||||
this.setDrawOverBankScreen(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Dimension render(Graphics2D graphics)
|
||||
{
|
||||
if (client.getGameState() != GameState.LOGGED_IN
|
||||
|| !config.enabled()
|
||||
|| client.getWidget(WidgetInfo.LOGIN_CLICK_TO_PLAY_SCREEN) != null)
|
||||
if (!config.enabled())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -29,7 +29,6 @@ import java.awt.Graphics2D;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.inject.Inject;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.GameState;
|
||||
import net.runelite.api.MenuEntry;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||
@@ -53,12 +52,13 @@ class MouseHighlightOverlay extends Overlay
|
||||
this.client = client;
|
||||
this.config = config;
|
||||
this.tooltipRenderer = overlayRenderer.getTooltipRenderer();
|
||||
this.setDrawOverBankScreen(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Dimension render(Graphics2D graphics)
|
||||
{
|
||||
if (client.getGameState() != GameState.LOGGED_IN || !config.enabled())
|
||||
if (!config.enabled())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -30,7 +30,6 @@ import java.awt.FontMetrics;
|
||||
import java.awt.Graphics2D;
|
||||
import net.runelite.api.Actor;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.GameState;
|
||||
import net.runelite.api.Player;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||
@@ -89,7 +88,7 @@ class OpponentInfoOverlay extends Overlay
|
||||
@Override
|
||||
public Dimension render(Graphics2D graphics)
|
||||
{
|
||||
if (client.getGameState() != GameState.LOGGED_IN || config.enabled() == false)
|
||||
if (config.enabled() == false)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -35,7 +35,6 @@ import java.util.Arrays;
|
||||
import javax.inject.Inject;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.GameState;
|
||||
import net.runelite.api.NPC;
|
||||
import net.runelite.api.Query;
|
||||
import net.runelite.api.queries.NPCQuery;
|
||||
@@ -73,11 +72,6 @@ public class PestControlOverlay extends Overlay
|
||||
@Override
|
||||
public Dimension render(Graphics2D graphics)
|
||||
{
|
||||
if (client.getGameState() != GameState.LOGGED_IN)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
// See if we are in a game or not
|
||||
if (client.getWidget(WidgetInfo.PESTCONTROL_BLUE_SHIELD) == null)
|
||||
{
|
||||
|
||||
@@ -33,7 +33,6 @@ import java.time.Instant;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.inject.Inject;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.GameState;
|
||||
import net.runelite.api.Prayer;
|
||||
import net.runelite.api.widgets.Widget;
|
||||
import net.runelite.api.widgets.WidgetInfo;
|
||||
@@ -64,7 +63,7 @@ public class PrayerFlickOverlay extends Overlay
|
||||
@Override
|
||||
public Dimension render(Graphics2D graphics)
|
||||
{
|
||||
if (client.getGameState() != GameState.LOGGED_IN || !config.enabled() || !prayersActive)//If there are no prayers active we don't need to be flicking
|
||||
if (!config.enabled() || !prayersActive)//If there are no prayers active we don't need to be flicking
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -36,7 +36,6 @@ import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import javax.inject.Inject;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.GameState;
|
||||
import static net.runelite.api.ItemID.BINDING_NECKLACE;
|
||||
import net.runelite.api.Query;
|
||||
import net.runelite.api.queries.EquipmentItemQuery;
|
||||
@@ -63,14 +62,13 @@ public class BindNeckOverlay extends Overlay
|
||||
this.runelite = runelite;
|
||||
this.client = runelite.getClient();
|
||||
this.config = config;
|
||||
this.setDrawOverBankScreen(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Dimension render(Graphics2D graphics)
|
||||
{
|
||||
if (client.getGameState() != GameState.LOGGED_IN
|
||||
|| !config.showBindNeck()
|
||||
|| client.getWidget(WidgetInfo.LOGIN_CLICK_TO_PLAY_SCREEN) != null)
|
||||
if (!config.showBindNeck())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -32,12 +32,10 @@ import java.awt.Graphics2D;
|
||||
import java.awt.Rectangle;
|
||||
import javax.inject.Inject;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.GameState;
|
||||
import net.runelite.api.ItemID;
|
||||
import net.runelite.api.Query;
|
||||
import net.runelite.api.Varbits;
|
||||
import net.runelite.api.queries.InventoryItemQuery;
|
||||
import net.runelite.api.widgets.WidgetInfo;
|
||||
import net.runelite.api.widgets.WidgetItem;
|
||||
import net.runelite.client.RuneLite;
|
||||
import net.runelite.client.ui.FontManager;
|
||||
@@ -63,14 +61,13 @@ public class RunecraftOverlay extends Overlay
|
||||
this.runelite = runelite;
|
||||
this.client = runelite.getClient();
|
||||
this.config = config;
|
||||
this.setDrawOverBankScreen(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Dimension render(Graphics2D graphics)
|
||||
{
|
||||
if (client.getGameState() != GameState.LOGGED_IN
|
||||
|| !config.showPouch()
|
||||
|| client.getWidget(WidgetInfo.LOGIN_CLICK_TO_PLAY_SCREEN) != null)
|
||||
if (!config.showPouch())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -30,13 +30,11 @@ import java.awt.Graphics2D;
|
||||
import java.awt.image.BufferedImage;
|
||||
import javax.inject.Inject;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.GameState;
|
||||
import net.runelite.api.ItemID;
|
||||
import net.runelite.api.Point;
|
||||
import net.runelite.api.Query;
|
||||
import net.runelite.api.Varbits;
|
||||
import net.runelite.api.queries.InventoryItemQuery;
|
||||
import net.runelite.api.widgets.WidgetInfo;
|
||||
import net.runelite.api.widgets.WidgetItem;
|
||||
import net.runelite.client.RuneLite;
|
||||
import net.runelite.client.ui.FontManager;
|
||||
@@ -74,14 +72,13 @@ public class RunepouchOverlay extends Overlay
|
||||
this.client = runelite.getClient();
|
||||
this.config = config;
|
||||
this.tooltipRenderer = overlayRenderer.getTooltipRenderer();
|
||||
this.setDrawOverBankScreen(true);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Dimension render(Graphics2D graphics)
|
||||
{
|
||||
if (!config.enabled()
|
||||
|| client.getGameState() != GameState.LOGGED_IN
|
||||
|| client.getWidget(WidgetInfo.LOGIN_CLICK_TO_PLAY_SCREEN) != null)
|
||||
if (!config.enabled())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -37,7 +37,6 @@ import java.util.Collection;
|
||||
import java.util.Set;
|
||||
import javax.inject.Inject;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.GameState;
|
||||
import net.runelite.api.ItemID;
|
||||
import net.runelite.api.Query;
|
||||
import net.runelite.api.queries.EquipmentItemQuery;
|
||||
@@ -97,9 +96,7 @@ class SlayerOverlay extends Overlay
|
||||
@Override
|
||||
public Dimension render(Graphics2D graphics)
|
||||
{
|
||||
if (client.getGameState() != GameState.LOGGED_IN
|
||||
|| !config.enabled()
|
||||
|| client.getWidget(WidgetInfo.LOGIN_CLICK_TO_PLAY_SCREEN) != null)
|
||||
if (!config.enabled())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -30,7 +30,6 @@ import java.awt.Graphics2D;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.inject.Inject;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.GameState;
|
||||
import net.runelite.api.Point;
|
||||
import net.runelite.api.Varbits;
|
||||
import net.runelite.api.widgets.Widget;
|
||||
@@ -68,7 +67,7 @@ public class SpecOrbOverlay extends Overlay
|
||||
@Override
|
||||
public Dimension render(Graphics2D graphics)
|
||||
{
|
||||
if (client.getGameState() != GameState.LOGGED_IN || !config.enabled())
|
||||
if (!config.enabled())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -42,7 +42,6 @@ import javax.inject.Inject;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.GameObject;
|
||||
import net.runelite.api.GameState;
|
||||
import net.runelite.api.Perspective;
|
||||
import net.runelite.api.Point;
|
||||
import net.runelite.api.Prayer;
|
||||
@@ -82,7 +81,7 @@ public class VolcanicMineOverlay extends Overlay
|
||||
@Override
|
||||
public Dimension render(Graphics2D graphics)
|
||||
{
|
||||
if (client == null || client.getGameState() != GameState.LOGGED_IN || !plugin.getInside() || !config.enabled())
|
||||
if (client == null || !plugin.getInside() || !config.enabled())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -35,7 +35,6 @@ import javax.annotation.Nullable;
|
||||
import javax.inject.Inject;
|
||||
import static net.runelite.api.AnimationID.*;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.GameState;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||
import net.runelite.client.ui.overlay.OverlayPriority;
|
||||
@@ -75,7 +74,7 @@ class WoodcuttingOverlay extends Overlay
|
||||
@Override
|
||||
public Dimension render(Graphics2D graphics)
|
||||
{
|
||||
if (client.getGameState() != GameState.LOGGED_IN || !config.enabled())
|
||||
if (!config.enabled())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -41,7 +41,6 @@ import javax.inject.Inject;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.Experience;
|
||||
import net.runelite.api.GameState;
|
||||
import net.runelite.api.Point;
|
||||
import net.runelite.api.Skill;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
@@ -87,7 +86,7 @@ public class XpGlobesOverlay extends Overlay
|
||||
{
|
||||
|
||||
// won't draw if not logged in or not enabled
|
||||
if (client.getGameState() != GameState.LOGGED_IN || !config.enabled())
|
||||
if (!config.enabled())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -41,7 +41,6 @@ import javax.imageio.ImageIO;
|
||||
import javax.inject.Inject;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.GameState;
|
||||
import net.runelite.api.Perspective;
|
||||
import net.runelite.api.Point;
|
||||
import net.runelite.api.Prayer;
|
||||
@@ -85,7 +84,7 @@ public class ZulrahOverlay extends Overlay
|
||||
{
|
||||
ZulrahInstance instance = plugin.getInstance();
|
||||
|
||||
if (instance == null || client.getGameState() != GameState.LOGGED_IN)
|
||||
if (instance == null)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -43,6 +43,9 @@ public class DynamicRenderer implements Renderer
|
||||
{
|
||||
for (Overlay overlay : overlays)
|
||||
{
|
||||
if (!overlay.isDrawn())
|
||||
continue;
|
||||
|
||||
Graphics2D graphics = clientBuffer.createGraphics();
|
||||
Renderer.setAntiAliasing(graphics);
|
||||
overlay.render(graphics);
|
||||
|
||||
@@ -25,6 +25,11 @@
|
||||
|
||||
package net.runelite.client.ui.overlay;
|
||||
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.GameState;
|
||||
import net.runelite.api.widgets.WidgetInfo;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Graphics2D;
|
||||
import java.awt.Rectangle;
|
||||
@@ -34,6 +39,12 @@ public abstract class Overlay
|
||||
private OverlayPosition position; // where to draw it
|
||||
private OverlayPriority priority; // if multiple overlays exist in the same position, who wins
|
||||
private Rectangle bounds; //screen bounds of overlay after OverlayRenderer decides location
|
||||
private boolean drawOverLoginScreen = false;
|
||||
private boolean drawOverBankScreen = false;
|
||||
private boolean drawOverClickToPlayScreen = false;
|
||||
|
||||
@Inject
|
||||
Client client;
|
||||
|
||||
public Overlay(OverlayPosition position)
|
||||
{
|
||||
@@ -77,4 +88,38 @@ public abstract class Overlay
|
||||
{
|
||||
this.bounds = bounds;
|
||||
}
|
||||
|
||||
public boolean isDrawn()
|
||||
{
|
||||
if (client == null)
|
||||
return false;
|
||||
if (!drawOverLoginScreen && client.getGameState() != GameState.LOGGED_IN)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (!drawOverClickToPlayScreen && client.getWidget(WidgetInfo.LOGIN_CLICK_TO_PLAY_SCREEN) != null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (!drawOverBankScreen && client.getWidget(WidgetInfo.BANK_INVENTORY_ITEMS_CONTAINER) != null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public void setDrawOverLoginScreen(boolean drawOverLoginScreen)
|
||||
{
|
||||
this.drawOverLoginScreen = drawOverLoginScreen;
|
||||
}
|
||||
|
||||
public void setDrawOverBankScreen(boolean drawOverBankScreen)
|
||||
{
|
||||
this.drawOverBankScreen = drawOverBankScreen;
|
||||
}
|
||||
|
||||
public void setDrawOverClickToPlayScreen(boolean drawOverClickToPlayScreen)
|
||||
{
|
||||
this.drawOverClickToPlayScreen = drawOverClickToPlayScreen;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,6 +52,9 @@ public class TopDownRendererLeft implements Renderer
|
||||
|
||||
for (Overlay overlay : overlays)
|
||||
{
|
||||
if (!overlay.isDrawn())
|
||||
continue;
|
||||
|
||||
BufferedImage image = clientBuffer.getSubimage(BORDER_LEFT, y, clientBuffer.getWidth() - BORDER_LEFT, clientBuffer.getHeight() - y);
|
||||
Graphics2D graphics = image.createGraphics();
|
||||
Renderer.setAntiAliasing(graphics);
|
||||
|
||||
@@ -30,6 +30,7 @@ import java.awt.Rectangle;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import net.runelite.api.Client;
|
||||
|
||||
public class TopDownRendererRight implements Renderer
|
||||
@@ -62,6 +63,9 @@ public class TopDownRendererRight implements Renderer
|
||||
|
||||
for (Overlay overlay : overlays)
|
||||
{
|
||||
if (!overlay.isDrawn())
|
||||
continue;
|
||||
|
||||
BufferedImage image = new BufferedImage(clientWidth, clientHeight, BufferedImage.TYPE_INT_ARGB);
|
||||
Graphics2D graphics = image.createGraphics();
|
||||
Renderer.setAntiAliasing(graphics);
|
||||
|
||||
@@ -33,7 +33,6 @@ import java.awt.Rectangle;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.util.List;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.GameState;
|
||||
import net.runelite.api.Point;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||
@@ -63,11 +62,6 @@ public class InfoBoxOverlay extends Overlay
|
||||
@Override
|
||||
public Dimension render(Graphics2D graphics)
|
||||
{
|
||||
if (client.getGameState() != GameState.LOGGED_IN)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
List<InfoBox> infoBoxes = infoboxManager.getInfoBoxes();
|
||||
|
||||
if (infoBoxes.isEmpty())
|
||||
|
||||
Reference in New Issue
Block a user