rl-api, rl-client: add Client::getWidget(I)

This commit is contained in:
Max Weber
2020-12-04 09:06:42 -07:00
parent 7840bb2b18
commit 07819bd9a4
5 changed files with 15 additions and 9 deletions

View File

@@ -502,6 +502,16 @@ public interface Client extends GameEngine
@Nullable
Widget getWidget(int groupId, int childId);
/**
* Gets a widget by it's packed ID.
*
* <p>
* Note: Use {@link #getWidget(WidgetInfo)} or {@link #getWidget(int, int)} for
* a more readable version of this method.
*/
@Nullable
Widget getWidget(int packedID);
/**
* Gets an array containing the x-axis canvas positions
* of all widgets.

View File

@@ -56,8 +56,6 @@ import net.runelite.api.widgets.JavaScriptCallback;
import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetID;
import net.runelite.api.widgets.WidgetInfo;
import static net.runelite.api.widgets.WidgetInfo.TO_CHILD;
import static net.runelite.api.widgets.WidgetInfo.TO_GROUP;
import net.runelite.client.callback.ClientThread;
import net.runelite.client.config.ConfigManager;
import net.runelite.client.config.Keybind;
@@ -226,7 +224,7 @@ public class BankPlugin extends Plugin
final int compId = intStack[intStackSize - 2];
final int buttonId = intStack[intStackSize - 1];
Widget button = client.getWidget(TO_GROUP(compId), TO_CHILD(compId));
Widget button = client.getWidget(compId);
Widget buttonRect = button.getChild(0);
final Object[] onOpListener = buttonRect.getOnOpListener();

View File

@@ -564,7 +564,7 @@ class WidgetInspector extends JFrame
{
if (type == MenuAction.SPELL_CAST_ON_WIDGET.getId())
{
Widget w = client.getWidget(WidgetInfo.TO_GROUP(param1), WidgetInfo.TO_CHILD(param1));
Widget w = client.getWidget(param1);
if (param0 != -1)
{
w = w.getChild(param0);
@@ -574,7 +574,7 @@ class WidgetInspector extends JFrame
}
else if (type == MenuAction.ITEM_USE_ON_WIDGET.getId())
{
Widget w = client.getWidget(WidgetInfo.TO_GROUP(param1), WidgetInfo.TO_CHILD(param1));
Widget w = client.getWidget(param1);
return w.getWidgetItem(param0);
}

View File

@@ -43,8 +43,6 @@ import net.runelite.api.events.GameTick;
import net.runelite.api.events.ScriptPreFired;
import net.runelite.api.events.StatChanged;
import net.runelite.api.widgets.Widget;
import static net.runelite.api.widgets.WidgetInfo.TO_CHILD;
import static net.runelite.api.widgets.WidgetInfo.TO_GROUP;
import net.runelite.client.config.ConfigManager;
import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.plugins.Plugin;
@@ -92,7 +90,7 @@ public class XpDropPlugin extends Plugin
private void processXpDrop(int widgetId)
{
final Widget xpdrop = client.getWidget(TO_GROUP(widgetId), TO_CHILD(widgetId));
final Widget xpdrop = client.getWidget(widgetId);
final Widget[] children = xpdrop.getChildren();
// child 0 is the xpdrop text, everything else are sprite ids for skills
final Widget text = children[0];

View File

@@ -345,7 +345,7 @@ public class WikiPlugin extends Plugin
private Widget getWidget(int wid, int index)
{
Widget w = client.getWidget(WidgetInfo.TO_GROUP(wid), WidgetInfo.TO_CHILD(wid));
Widget w = client.getWidget(wid);
if (index != -1)
{
w = w.getChild(index);