menu manager: add method to remove player menu items
This commit is contained in:
@@ -40,12 +40,12 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
import net.runelite.api.MenuAction;
|
import net.runelite.api.MenuAction;
|
||||||
import net.runelite.api.MenuEntry;
|
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.MenuEntryAdded;
|
||||||
import net.runelite.api.events.MenuOptionClicked;
|
import net.runelite.api.events.MenuOptionClicked;
|
||||||
import net.runelite.api.events.PlayerMenuOptionClicked;
|
import net.runelite.api.events.PlayerMenuOptionClicked;
|
||||||
import net.runelite.api.events.PlayerMenuOptionsChanged;
|
import net.runelite.api.events.PlayerMenuOptionsChanged;
|
||||||
|
import net.runelite.api.events.WidgetMenuOptionClicked;
|
||||||
|
import net.runelite.api.widgets.WidgetInfo;
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@@ -148,6 +148,19 @@ public class MenuManager
|
|||||||
addPlayerMenuItem(playerMenuIndex, menuText);
|
addPlayerMenuItem(playerMenuIndex, menuText);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void removePlayerMenuItem(String menuText)
|
||||||
|
{
|
||||||
|
Preconditions.checkNotNull(menuText);
|
||||||
|
for (Map.Entry<Integer, String> entry : playerMenuIndexMap.entrySet())
|
||||||
|
{
|
||||||
|
if (entry.getValue().equalsIgnoreCase(menuText))
|
||||||
|
{
|
||||||
|
removePlayerMenuItem(entry.getKey());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Subscribe
|
@Subscribe
|
||||||
public void onPlayerMenuOptionsChanged(PlayerMenuOptionsChanged event)
|
public void onPlayerMenuOptionsChanged(PlayerMenuOptionsChanged event)
|
||||||
{
|
{
|
||||||
@@ -219,6 +232,15 @@ public class MenuManager
|
|||||||
playerMenuIndexMap.put(playerOptionIndex, menuText);
|
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
|
* Find the next empty player menu slot index
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user