runelite-api: add widget open event

This commit is contained in:
Dennis de V
2018-03-16 17:13:24 -04:00
committed by Adam
parent 56f8ebe4da
commit 15ef09cd5e
2 changed files with 45 additions and 3 deletions

View File

@@ -63,6 +63,7 @@ import net.runelite.api.events.MapRegionChanged;
import net.runelite.api.events.PlayerMenuOptionsChanged;
import net.runelite.api.events.ResizeableChanged;
import net.runelite.api.events.VarbitChanged;
import net.runelite.api.events.WidgetOpened;
import net.runelite.api.mixins.Copy;
import net.runelite.api.mixins.FieldHook;
import net.runelite.api.mixins.Inject;
@@ -505,17 +506,23 @@ public abstract class RSClientMixin implements RSClient
}
@Copy("openWidget")
public static WidgetNode rs$openWidget(int parentHash, int widgetId, int autoClose)
public static WidgetNode rs$openWidget(int parentId, int groupId, int autoClose)
{
throw new RuntimeException();
}
@Replace("openWidget")
public static WidgetNode rl$openWidget(int parentHash, int widgetId, int autoClose)
public static WidgetNode rl$openWidget(int parentId, int groupId, int autoClose)
{
MenuEntry[] entries = client.getMenuEntries();
WidgetNode widgetNode = rs$openWidget(parentHash, widgetId, autoClose);
WidgetNode widgetNode = rs$openWidget(parentId, groupId, autoClose);
client.setMenuEntries(entries);
WidgetOpened event = new WidgetOpened();
event.setParentId(parentId);
event.setGroupId(groupId);
event.setAutoClose(autoClose);
eventBus.post(event);
return widgetNode;
}