overlay: optimize some menu handling code

This commit is contained in:
Adam
2020-06-16 17:21:39 -04:00
committed by Adam
parent bf49da90b4
commit 1b7dadeb68
3 changed files with 9 additions and 7 deletions

View File

@@ -24,16 +24,14 @@
*/
package net.runelite.client.events;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Value;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayMenuEntry;
/**
* Event fired when an overlay menu entry is clicked.
*/
@Data
@AllArgsConstructor
@Value
public class OverlayMenuClicked
{
private OverlayMenuEntry entry;

View File

@@ -143,10 +143,9 @@ public class OverlayManager
event.consume();
Optional<Overlay> optionalOverlay = overlays.stream().filter(o -> overlays.indexOf(o) == event.getId()).findAny();
if (optionalOverlay.isPresent())
Overlay overlay = overlays.get(event.getId());
if (overlay != null)
{
Overlay overlay = optionalOverlay.get();
List<OverlayMenuEntry> menuEntries = overlay.getMenuEntries();
Optional<OverlayMenuEntry> optionalOverlayMenuEntry = menuEntries.stream()
.filter(me -> me.getOption().equals(event.getMenuOption()))

View File

@@ -792,6 +792,11 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener
private MenuEntry[] createRightClickMenuEntries(Overlay overlay)
{
List<OverlayMenuEntry> menuEntries = overlay.getMenuEntries();
if (menuEntries.isEmpty())
{
return null;
}
final MenuEntry[] entries = new MenuEntry[menuEntries.size()];
// Add in reverse order so they display correctly in the right-click menu