From 69a04a5744164f3dd82ca7e5a1660226db3d2a33 Mon Sep 17 00:00:00 2001 From: Adam Date: Sat, 24 Feb 2018 16:23:27 -0500 Subject: [PATCH] menu manager: add method to remove player menu items --- .../runelite/client/menus/MenuManager.java | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/menus/MenuManager.java b/runelite-client/src/main/java/net/runelite/client/menus/MenuManager.java index e7cdc35d37..7502a7b883 100644 --- a/runelite-client/src/main/java/net/runelite/client/menus/MenuManager.java +++ b/runelite-client/src/main/java/net/runelite/client/menus/MenuManager.java @@ -40,12 +40,12 @@ import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; import net.runelite.api.MenuAction; import net.runelite.api.MenuEntry; -import net.runelite.api.widgets.WidgetInfo; -import net.runelite.api.events.WidgetMenuOptionClicked; import net.runelite.api.events.MenuEntryAdded; import net.runelite.api.events.MenuOptionClicked; import net.runelite.api.events.PlayerMenuOptionClicked; import net.runelite.api.events.PlayerMenuOptionsChanged; +import net.runelite.api.events.WidgetMenuOptionClicked; +import net.runelite.api.widgets.WidgetInfo; @Singleton @Slf4j @@ -148,6 +148,19 @@ public class MenuManager addPlayerMenuItem(playerMenuIndex, menuText); } + public void removePlayerMenuItem(String menuText) + { + Preconditions.checkNotNull(menuText); + for (Map.Entry entry : playerMenuIndexMap.entrySet()) + { + if (entry.getValue().equalsIgnoreCase(menuText)) + { + removePlayerMenuItem(entry.getKey()); + break; + } + } + } + @Subscribe public void onPlayerMenuOptionsChanged(PlayerMenuOptionsChanged event) { @@ -219,6 +232,15 @@ public class MenuManager playerMenuIndexMap.put(playerOptionIndex, menuText); } + private void removePlayerMenuItem(int playerOptionIndex) + { + Client client = clientProvider.get(); + + client.getPlayerOptions()[playerOptionIndex] = null; + + playerMenuIndexMap.remove(playerOptionIndex); + } + /** * Find the next empty player menu slot index *