Merge pull request #4627 from Kamielvf/itemstats-fix
item stats: fix tooltip not appearing when hovering over item
This commit is contained in:
@@ -27,10 +27,9 @@ package net.runelite.client.plugins.itemstats;
|
||||
import com.google.inject.Inject;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Graphics2D;
|
||||
import java.awt.Point;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.queries.InventoryWidgetItemQuery;
|
||||
import net.runelite.api.widgets.WidgetItem;
|
||||
import net.runelite.api.MenuEntry;
|
||||
import net.runelite.api.widgets.WidgetInfo;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
import net.runelite.client.ui.overlay.tooltip.Tooltip;
|
||||
import net.runelite.client.ui.overlay.tooltip.TooltipManager;
|
||||
@@ -62,25 +61,35 @@ public class ItemStatOverlay extends Overlay
|
||||
return null;
|
||||
}
|
||||
|
||||
WidgetItem[] inventory = queryRunner.runQuery(new InventoryWidgetItemQuery());
|
||||
Point mousePos = new Point(client.getMouseCanvasPosition().getX(), client.getMouseCanvasPosition().getY());
|
||||
for (WidgetItem item : inventory)
|
||||
final MenuEntry[] menu = client.getMenuEntries();
|
||||
final int menuSize = menu.length;
|
||||
|
||||
if (menuSize <= 0)
|
||||
{
|
||||
if (item.getCanvasBounds().contains(mousePos))
|
||||
{
|
||||
Effect change = statChanges.get(item.getId());
|
||||
if (change != null)
|
||||
{
|
||||
StringBuilder b = new StringBuilder();
|
||||
StatsChanges statsChanges = change.calculate(client);
|
||||
for (StatChange c : statsChanges.getStatChanges())
|
||||
{
|
||||
b.append(buildStatChangeString(c));
|
||||
}
|
||||
tooltipManager.add(new Tooltip(b.toString()));
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
final MenuEntry entry = menu[menuSize - 1];
|
||||
|
||||
if (entry.getParam1() != WidgetInfo.INVENTORY.getId())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
final Effect change = statChanges.get(entry.getIdentifier());
|
||||
if (change != null)
|
||||
{
|
||||
final StringBuilder b = new StringBuilder();
|
||||
final StatsChanges statsChanges = change.calculate(client);
|
||||
|
||||
for (final StatChange c : statsChanges.getStatChanges())
|
||||
{
|
||||
b.append(buildStatChangeString(c));
|
||||
}
|
||||
|
||||
tooltipManager.add(new Tooltip(b.toString()));
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user