npcindicators: Use "Un-tag" menu option for tagged NPCs

Closes runelite/runelite#1177
This commit is contained in:
Jordan Atwood
2019-07-16 22:19:34 -07:00
parent 7ffea7f41e
commit a57954a893

View File

@@ -83,6 +83,7 @@ public class NpcIndicatorsPlugin extends Plugin
// Option added to NPC menu // Option added to NPC menu
private static final String TAG = "Tag"; private static final String TAG = "Tag";
private static final String UNTAG = "Un-tag";
private static final Set<MenuAction> NPC_MENU_ACTIONS = ImmutableSet.of(MenuAction.NPC_FIRST_OPTION, MenuAction.NPC_SECOND_OPTION, private static final Set<MenuAction> NPC_MENU_ACTIONS = ImmutableSet.of(MenuAction.NPC_FIRST_OPTION, MenuAction.NPC_SECOND_OPTION,
MenuAction.NPC_THIRD_OPTION, MenuAction.NPC_FOURTH_OPTION, MenuAction.NPC_FIFTH_OPTION); MenuAction.NPC_THIRD_OPTION, MenuAction.NPC_FOURTH_OPTION, MenuAction.NPC_FIFTH_OPTION);
@@ -273,7 +274,7 @@ public class NpcIndicatorsPlugin extends Plugin
MenuEntry[] menuEntries = client.getMenuEntries(); MenuEntry[] menuEntries = client.getMenuEntries();
menuEntries = Arrays.copyOf(menuEntries, menuEntries.length + 1); menuEntries = Arrays.copyOf(menuEntries, menuEntries.length + 1);
final MenuEntry tagEntry = menuEntries[menuEntries.length - 1] = new MenuEntry(); final MenuEntry tagEntry = menuEntries[menuEntries.length - 1] = new MenuEntry();
tagEntry.setOption(TAG); tagEntry.setOption(highlightedNpcs.stream().anyMatch(npc -> npc.getIndex() == event.getIdentifier()) ? UNTAG : TAG);
tagEntry.setTarget(event.getTarget()); tagEntry.setTarget(event.getTarget());
tagEntry.setParam0(event.getActionParam0()); tagEntry.setParam0(event.getActionParam0());
tagEntry.setParam1(event.getActionParam1()); tagEntry.setParam1(event.getActionParam1());
@@ -286,7 +287,8 @@ public class NpcIndicatorsPlugin extends Plugin
@Subscribe @Subscribe
public void onMenuOptionClicked(MenuOptionClicked click) public void onMenuOptionClicked(MenuOptionClicked click)
{ {
if (click.getMenuAction() != MenuAction.RUNELITE || !click.getMenuOption().equals(TAG)) if (click.getMenuAction() != MenuAction.RUNELITE ||
!(click.getMenuOption().equals(TAG) || click.getMenuOption().equals(UNTAG)))
{ {
return; return;
} }