mta: use widget item overlay
This commit is contained in:
@@ -24,38 +24,31 @@
|
||||
*/
|
||||
package net.runelite.client.plugins.mta;
|
||||
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Graphics2D;
|
||||
import javax.inject.Inject;
|
||||
import net.runelite.client.ui.FontManager;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
import net.runelite.client.ui.overlay.OverlayLayer;
|
||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||
import net.runelite.api.widgets.WidgetItem;
|
||||
import net.runelite.client.ui.overlay.WidgetItemOverlay;
|
||||
|
||||
public class MTAInventoryOverlay extends Overlay
|
||||
class MTAItemOverlay extends WidgetItemOverlay
|
||||
{
|
||||
private final MTAPlugin plugin;
|
||||
|
||||
@Inject
|
||||
public MTAInventoryOverlay(MTAPlugin plugin)
|
||||
public MTAItemOverlay(MTAPlugin plugin)
|
||||
{
|
||||
this.plugin = plugin;
|
||||
setPosition(OverlayPosition.DYNAMIC);
|
||||
setLayer(OverlayLayer.ABOVE_WIDGETS);
|
||||
showOnInventory();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Dimension render(Graphics2D graphics)
|
||||
public void renderItemOverlay(Graphics2D graphics, int itemId, WidgetItem widgetItem)
|
||||
{
|
||||
for (MTARoom room : plugin.getRooms())
|
||||
{
|
||||
if (room.inside())
|
||||
{
|
||||
graphics.setFont(FontManager.getRunescapeBoldFont());
|
||||
room.over(graphics);
|
||||
room.renderItemOverlay(graphics, itemId, widgetItem);
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -62,7 +62,7 @@ public class MTAPlugin extends Plugin
|
||||
@Inject
|
||||
private MTASceneOverlay sceneOverlay;
|
||||
@Inject
|
||||
private MTAInventoryOverlay inventoryOverlay;
|
||||
private MTAItemOverlay itemOverlay;
|
||||
|
||||
@Getter(AccessLevel.PROTECTED)
|
||||
private MTARoom[] rooms;
|
||||
@@ -77,7 +77,7 @@ public class MTAPlugin extends Plugin
|
||||
public void startUp()
|
||||
{
|
||||
overlayManager.add(sceneOverlay);
|
||||
overlayManager.add(inventoryOverlay);
|
||||
overlayManager.add(itemOverlay);
|
||||
|
||||
this.rooms = new MTARoom[]{alchemyRoom, graveyardRoom, telekineticRoom, enchantmentRoom};
|
||||
|
||||
@@ -91,7 +91,7 @@ public class MTAPlugin extends Plugin
|
||||
public void shutDown()
|
||||
{
|
||||
overlayManager.remove(sceneOverlay);
|
||||
overlayManager.remove(inventoryOverlay);
|
||||
overlayManager.remove(itemOverlay);
|
||||
|
||||
for (MTARoom room : rooms)
|
||||
{
|
||||
|
||||
@@ -28,6 +28,7 @@ import java.awt.Graphics2D;
|
||||
import javax.inject.Inject;
|
||||
import lombok.AccessLevel;
|
||||
import lombok.Getter;
|
||||
import net.runelite.api.widgets.WidgetItem;
|
||||
|
||||
public abstract class MTARoom
|
||||
{
|
||||
@@ -46,7 +47,7 @@ public abstract class MTARoom
|
||||
{
|
||||
}
|
||||
|
||||
public void over(Graphics2D graphics2D)
|
||||
public void renderItemOverlay(Graphics2D graphics, int itemId, WidgetItem widgetItem)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,7 +63,6 @@ import net.runelite.api.events.GameStateChanged;
|
||||
import net.runelite.api.events.GameTick;
|
||||
import net.runelite.api.widgets.Widget;
|
||||
import net.runelite.api.widgets.WidgetID;
|
||||
import net.runelite.api.widgets.WidgetInfo;
|
||||
import net.runelite.api.widgets.WidgetItem;
|
||||
import net.runelite.client.eventbus.Subscribe;
|
||||
import net.runelite.client.game.ItemManager;
|
||||
@@ -448,28 +447,15 @@ public class AlchemyRoom extends MTARoom
|
||||
|
||||
|
||||
@Override
|
||||
public void over(Graphics2D graphics)
|
||||
public void renderItemOverlay(Graphics2D graphics, int itemId, WidgetItem widgetItem)
|
||||
{
|
||||
if (!inside() || !config.alchemy() || best == null)
|
||||
assert inside();
|
||||
if (best == null || best.getId() != itemId || !config.alchemy())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Widget inventory = client.getWidget(WidgetInfo.INVENTORY);
|
||||
if (inventory.isHidden())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
for (WidgetItem item : inventory.getWidgetItems())
|
||||
{
|
||||
if (item.getId() != best.getId())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
drawItem(graphics, item, Color.GREEN);
|
||||
}
|
||||
drawItem(graphics, widgetItem, Color.GREEN);
|
||||
}
|
||||
|
||||
private void drawItem(Graphics2D graphics, WidgetItem item, Color border)
|
||||
|
||||
Reference in New Issue
Block a user