From c6149f0db0732ecf3f70abd3638c97055801d8f5 Mon Sep 17 00:00:00 2001 From: Jordan Atwood Date: Fri, 12 Jul 2019 22:27:55 -0700 Subject: [PATCH] overlaymanager: Add anyMatch method This will help plugins make informed decisions when, say, displaying different text when toggling an overlay on and off. --- .../runelite/client/ui/overlay/OverlayManager.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayManager.java b/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayManager.java index 5a6e240f90..2af17900b3 100644 --- a/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayManager.java +++ b/runelite-client/src/main/java/net/runelite/client/ui/overlay/OverlayManager.java @@ -217,6 +217,17 @@ public class OverlayManager return removeIf; } + /** + * Returns whether an overlay exists which matches the given predicate. + * + * @param filter Filter predicate function + * @return {@code true} if any overlays match the given filter, {@code false} otherwise + */ + public synchronized boolean anyMatch(Predicate filter) + { + return overlays.stream().anyMatch(filter); + } + /** * Clear all overlays */