menumanager: cleanup
This commit is contained in:
@@ -76,19 +76,6 @@ public class MenuManager
|
|||||||
private static final int IDX_UPPER = 8;
|
private static final int IDX_UPPER = 8;
|
||||||
static final Pattern LEVEL_PATTERN = Pattern.compile("\\(level-[0-9]*\\)");
|
static final Pattern LEVEL_PATTERN = Pattern.compile("\\(level-[0-9]*\\)");
|
||||||
|
|
||||||
private static MenuEntry CANCEL()
|
|
||||||
{
|
|
||||||
MenuEntry cancel = new MenuEntry();
|
|
||||||
cancel.setOption("Cancel");
|
|
||||||
cancel.setTarget("");
|
|
||||||
cancel.setIdentifier(0);
|
|
||||||
cancel.setType(MenuAction.CANCEL.getId());
|
|
||||||
cancel.setParam0(0);
|
|
||||||
cancel.setParam1(0);
|
|
||||||
|
|
||||||
return cancel;
|
|
||||||
}
|
|
||||||
|
|
||||||
private final Client client;
|
private final Client client;
|
||||||
private final EventBus eventBus;
|
private final EventBus eventBus;
|
||||||
private final Prioritizer prioritizer;
|
private final Prioritizer prioritizer;
|
||||||
@@ -107,9 +94,9 @@ public class MenuManager
|
|||||||
private final Map<ComparableEntry, MenuEntry> currentSwaps = new HashMap<>();
|
private final Map<ComparableEntry, MenuEntry> currentSwaps = new HashMap<>();
|
||||||
|
|
||||||
private final LinkedHashSet<MenuEntry> entries = Sets.newLinkedHashSet();
|
private final LinkedHashSet<MenuEntry> entries = Sets.newLinkedHashSet();
|
||||||
private final Map<MenuEntry, Integer> originalTypes = new HashMap<>();
|
|
||||||
|
|
||||||
private MenuEntry leftClickEntry = null;
|
private MenuEntry leftClickEntry = null;
|
||||||
|
private int leftClickType = -1;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
private MenuManager(Client client, EventBus eventBus)
|
private MenuManager(Client client, EventBus eventBus)
|
||||||
@@ -159,8 +146,6 @@ public class MenuManager
|
|||||||
@Subscribe
|
@Subscribe
|
||||||
public void onMenuOpened(MenuOpened event)
|
public void onMenuOpened(MenuOpened event)
|
||||||
{
|
{
|
||||||
leftClickEntry = null;
|
|
||||||
|
|
||||||
currentPriorityEntries.clear();
|
currentPriorityEntries.clear();
|
||||||
currentHiddenEntries.clear();
|
currentHiddenEntries.clear();
|
||||||
|
|
||||||
@@ -169,12 +154,16 @@ public class MenuManager
|
|||||||
|
|
||||||
for (MenuEntry entry : oldEntries)
|
for (MenuEntry entry : oldEntries)
|
||||||
{
|
{
|
||||||
if (originalTypes.containsKey(entry))
|
if (entry == leftClickEntry)
|
||||||
{
|
{
|
||||||
entry.setType(originalTypes.get(entry));
|
entry.setType(leftClickType);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
leftClickEntry = null;
|
||||||
|
leftClickType = -1;
|
||||||
|
|
||||||
client.sortMenuEntries();
|
client.sortMenuEntries();
|
||||||
|
|
||||||
List<MenuEntry> newEntries = Lists.newArrayList(oldEntries);
|
List<MenuEntry> newEntries = Lists.newArrayList(oldEntries);
|
||||||
@@ -299,6 +288,7 @@ public class MenuManager
|
|||||||
public void onBeforeRender(BeforeRender event)
|
public void onBeforeRender(BeforeRender event)
|
||||||
{
|
{
|
||||||
leftClickEntry = null;
|
leftClickEntry = null;
|
||||||
|
leftClickType = -1;
|
||||||
|
|
||||||
if (client.isMenuOpen())
|
if (client.isMenuOpen())
|
||||||
{
|
{
|
||||||
@@ -317,7 +307,6 @@ public class MenuManager
|
|||||||
currentPriorityEntries.clear();
|
currentPriorityEntries.clear();
|
||||||
currentHiddenEntries.clear();
|
currentHiddenEntries.clear();
|
||||||
currentSwaps.clear();
|
currentSwaps.clear();
|
||||||
originalTypes.clear();
|
|
||||||
|
|
||||||
prioritizer.prioritize();
|
prioritizer.prioritize();
|
||||||
|
|
||||||
@@ -334,10 +323,10 @@ public class MenuManager
|
|||||||
if (entries.contains(entry))
|
if (entries.contains(entry))
|
||||||
{
|
{
|
||||||
leftClickEntry = entry;
|
leftClickEntry = entry;
|
||||||
originalTypes.put(leftClickEntry, leftClickEntry.getType());
|
leftClickType = entry.getType();
|
||||||
entries.remove(leftClickEntry);
|
entries.remove(leftClickEntry);
|
||||||
|
leftClickEntry.setType(MenuAction.WIDGET_DEFAULT.getId());
|
||||||
entries.add(leftClickEntry);
|
entries.add(leftClickEntry);
|
||||||
Iterables.getLast(entries).setType(MenuAction.WIDGET_DEFAULT.getId());
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -352,10 +341,10 @@ public class MenuManager
|
|||||||
if (swap.matches(first))
|
if (swap.matches(first))
|
||||||
{
|
{
|
||||||
leftClickEntry = currentSwaps.get(swap);
|
leftClickEntry = currentSwaps.get(swap);
|
||||||
originalTypes.put(leftClickEntry, leftClickEntry.getType());
|
leftClickType = leftClickEntry.getType();
|
||||||
entries.remove(leftClickEntry);
|
entries.remove(leftClickEntry);
|
||||||
|
leftClickEntry.setType(MenuAction.WIDGET_DEFAULT.getId());
|
||||||
entries.add(leftClickEntry);
|
entries.add(leftClickEntry);
|
||||||
Iterables.getLast(entries).setType(MenuAction.WIDGET_DEFAULT.getId());
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -469,8 +458,9 @@ public class MenuManager
|
|||||||
@Subscribe
|
@Subscribe
|
||||||
public void onMenuOptionClicked(MenuOptionClicked event)
|
public void onMenuOptionClicked(MenuOptionClicked event)
|
||||||
{
|
{
|
||||||
if (leftClickEntry != null)
|
if (leftClickEntry != null && leftClickType != -1)
|
||||||
{
|
{
|
||||||
|
leftClickEntry.setType(leftClickType);
|
||||||
event.setMenuEntry(leftClickEntry);
|
event.setMenuEntry(leftClickEntry);
|
||||||
leftClickEntry = null;
|
leftClickEntry = null;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user