Merge pull request #1241 from Adam-/menuaction

Change MenuEntry type to int
This commit is contained in:
Adam
2018-04-02 09:18:06 -04:00
committed by GitHub
5 changed files with 23 additions and 74 deletions

View File

@@ -24,6 +24,9 @@
*/
package net.runelite.api;
import java.util.HashMap;
import java.util.Map;
public enum MenuAction
{
/**
@@ -257,12 +260,22 @@ public enum MenuAction
FOLLOW(2046),
TRADE(2047),
/**
* Menu action triggered when the id is not defined in this class.
*/
UNKNOWN(-1);
private static final Map<Integer, MenuAction> map = new HashMap<>();
static
{
for (MenuAction menuAction : values())
{
map.put(menuAction.getId(), menuAction);
}
}
private final int id;
MenuAction(int id)
@@ -277,13 +290,6 @@ public enum MenuAction
public static MenuAction of(int id)
{
for (MenuAction action : values())
{
if (action.id == id)
{
return action;
}
}
return UNKNOWN;
return map.getOrDefault(id, UNKNOWN);
}
}

View File

@@ -24,12 +24,15 @@
*/
package net.runelite.api;
import lombok.Data;
@Data
public class MenuEntry
{
private String option;
private String target;
private int identifier;
private MenuAction type;
private int type;
private int param0;
private int param1;
@@ -39,64 +42,4 @@ public class MenuEntry
return "MenuEntry{" + "option=" + option + ", target=" + target + ", identifier=" + identifier + ", type=" + type + ", param0=" + param0 + ", param1=" + param1 + '}';
}
public String getOption()
{
return option;
}
public void setOption(String option)
{
this.option = option;
}
public String getTarget()
{
return target;
}
public void setTarget(String target)
{
this.target = target;
}
public int getIdentifier()
{
return identifier;
}
public void setIdentifier(int identifier)
{
this.identifier = identifier;
}
public MenuAction getType()
{
return type;
}
public void setType(MenuAction type)
{
this.type = type;
}
public int getParam0()
{
return param0;
}
public void setParam0(int param0)
{
this.param0 = param0;
}
public int getParam1()
{
return param1;
}
public void setParam1(int param1)
{
this.param1 = param1;
}
}

View File

@@ -183,7 +183,7 @@ public class MenuManager
menuEntry.setOption(currentMenu.getMenuOption());
menuEntry.setParam1(widgetId);
menuEntry.setTarget(currentMenu.getMenuTarget());
menuEntry.setType(MenuAction.RUNELITE);
menuEntry.setType(MenuAction.RUNELITE.getId());
client.setMenuEntries(menuEntries);
}

View File

@@ -88,7 +88,7 @@ class ItemPricesOverlay extends Overlay
}
final MenuEntry menuEntry = menuEntries[last];
final MenuAction action = menuEntry.getType();
final MenuAction action = MenuAction.of(menuEntry.getType());
final int widgetId = menuEntry.getParam1();
final int groupId = WidgetInfo.TO_GROUP(widgetId);

View File

@@ -327,7 +327,7 @@ public abstract class RSClientMixin implements RSClient
entry.setOption(menuOptions[i]);
entry.setTarget(menuTargets[i]);
entry.setIdentifier(menuIdentifiers[i]);
entry.setType(MenuAction.of(menuTypes[i]));
entry.setType(menuTypes[i]);
entry.setParam0(params0[i]);
entry.setParam1(params1[i]);
}
@@ -351,7 +351,7 @@ public abstract class RSClientMixin implements RSClient
menuOptions[count] = entry.getOption();
menuTargets[count] = entry.getTarget();
menuIdentifiers[count] = entry.getIdentifier();
menuTypes[count] = entry.getType().getId();
menuTypes[count] = entry.getType();
params0[count] = entry.getParam0();
params1[count] = entry.getParam1();
++count;