From 8700a2bf92d43a8fe64f205b1a6300b6093df355 Mon Sep 17 00:00:00 2001 From: David Higueros <111460331+TheDavSmasher@users.noreply.github.com> Date: Sun, 12 Jul 2026 22:39:04 -0600 Subject: [PATCH] Added onSelection field to use earlier --- MiraAPI/Hud/CustomMultiSelectMenu.cs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/MiraAPI/Hud/CustomMultiSelectMenu.cs b/MiraAPI/Hud/CustomMultiSelectMenu.cs index d95c460..d940da7 100644 --- a/MiraAPI/Hud/CustomMultiSelectMenu.cs +++ b/MiraAPI/Hud/CustomMultiSelectMenu.cs @@ -35,6 +35,8 @@ public abstract class CustomMultiSelectMenu(IntPtr il2CppPtr) private Color? hoverSelectColor; private Color? hoverDeselectColor; + private Action>? onSelection; + public record MenuEntry(ShapeshifterPanel Panel, TEntry Entry) : IMenuEntry; protected static TMenu Create( @@ -80,6 +82,8 @@ public abstract class CustomMultiSelectMenu(IntPtr il2CppPtr) this.totalSelections = totalSelections; this.shouldConfirm = shouldConfirm; this.canRepeat = canRepeat; + this.onSelection = onClick; + var back = backButton.GetComponent(); back.OnClick.AddListener((UnityAction)(() => { @@ -96,7 +100,7 @@ public abstract class CustomMultiSelectMenu(IntPtr il2CppPtr) var num = i % 3; var num2 = i / 3; shapeshifterPanel.transform.localPosition = new Vector3(xStart + num * xOffset, yStart + num2 * yOffset, -1f); - SetupPanelEntry(shapeshifterPanel, i, entry, () => OnEntryClick(entry, onClick)); + SetupPanelEntry(shapeshifterPanel, i, entry, () => OnEntryClick(entry)); list2.Add(shapeshifterPanel.Button); }, (p, e) => new MenuEntry(p, e)); @@ -128,7 +132,7 @@ public abstract class CustomMultiSelectMenu(IntPtr il2CppPtr) Begin(entries, list => onClick(list?[0], list?[1]), 2, shouldConfirm, canRepeat); } - private void OnEntryClick(TEntry entry, Action> onClick) + private void OnEntryClick(TEntry entry) { MenuEntry menuEntry = MenuEntries.First(e => e.Entry == entry); @@ -153,7 +157,7 @@ public abstract class CustomMultiSelectMenu(IntPtr il2CppPtr) return; } - onClick(selectedEntries.Select(se => se.Entry).ToList()); + onSelection!(selectedEntries.Select(se => se.Entry).ToList()); selectedEntries.Clear(); }