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; package net.runelite.client.events;
import lombok.AllArgsConstructor; import lombok.Value;
import lombok.Data;
import net.runelite.client.ui.overlay.Overlay; import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayMenuEntry; import net.runelite.client.ui.overlay.OverlayMenuEntry;
/** /**
* Event fired when an overlay menu entry is clicked. * Event fired when an overlay menu entry is clicked.
*/ */
@Data @Value
@AllArgsConstructor
public class OverlayMenuClicked public class OverlayMenuClicked
{ {
private OverlayMenuEntry entry; private OverlayMenuEntry entry;

View File

@@ -143,10 +143,9 @@ public class OverlayManager
event.consume(); event.consume();
Optional<Overlay> optionalOverlay = overlays.stream().filter(o -> overlays.indexOf(o) == event.getId()).findAny(); Overlay overlay = overlays.get(event.getId());
if (optionalOverlay.isPresent()) if (overlay != null)
{ {
Overlay overlay = optionalOverlay.get();
List<OverlayMenuEntry> menuEntries = overlay.getMenuEntries(); List<OverlayMenuEntry> menuEntries = overlay.getMenuEntries();
Optional<OverlayMenuEntry> optionalOverlayMenuEntry = menuEntries.stream() Optional<OverlayMenuEntry> optionalOverlayMenuEntry = menuEntries.stream()
.filter(me -> me.getOption().equals(event.getMenuOption())) .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) private MenuEntry[] createRightClickMenuEntries(Overlay overlay)
{ {
List<OverlayMenuEntry> menuEntries = overlay.getMenuEntries(); List<OverlayMenuEntry> menuEntries = overlay.getMenuEntries();
if (menuEntries.isEmpty())
{
return null;
}
final MenuEntry[] entries = new MenuEntry[menuEntries.size()]; final MenuEntry[] entries = new MenuEntry[menuEntries.size()];
// Add in reverse order so they display correctly in the right-click menu // Add in reverse order so they display correctly in the right-click menu