mirror of
https://github.com/All-Of-Us-Mods/MiraAPI.git
synced 2026-10-19 15:51:48 +00:00
Created UiElement for confirm button
This commit is contained in:
1 parent
8700a2bf92
commit
7f023eb2c9
1 file changed
+14
-3
@@ -35,6 +35,8 @@ public abstract class CustomMultiSelectMenu<TEntry>(IntPtr il2CppPtr)
|
||||
private Color? hoverSelectColor;
|
||||
private Color? hoverDeselectColor;
|
||||
|
||||
public UiElement confirmButton;
|
||||
|
||||
private Action<List<TEntry>>? onSelection;
|
||||
|
||||
public record MenuEntry(ShapeshifterPanel Panel, TEntry Entry) : IMenuEntry;
|
||||
@@ -51,7 +53,11 @@ public abstract class CustomMultiSelectMenu<TEntry>(IntPtr il2CppPtr)
|
||||
{
|
||||
TMenu customMenu = Create<TMenu>(onMouseOut, onMouseOver);
|
||||
|
||||
// TODO: create/add confirm button with click listener
|
||||
customMenu.confirmButton = null!; // TODO: create/add confirm button
|
||||
|
||||
var button = customMenu.confirmButton.GetComponent<PassiveButton>();
|
||||
button.OnClick.RemoveAllListeners();
|
||||
button.OnClick.AddListener((UnityAction)customMenu.OnCompleteSelection);
|
||||
|
||||
customMenu.activeColor = activeColor;
|
||||
|
||||
@@ -153,14 +159,19 @@ public abstract class CustomMultiSelectMenu<TEntry>(IntPtr il2CppPtr)
|
||||
// Total selections reached
|
||||
if (shouldConfirm)
|
||||
{
|
||||
// TODO: enable confirm button with click listener to call onClick
|
||||
// TODO: enable confirm button
|
||||
return;
|
||||
}
|
||||
|
||||
onSelection!(selectedEntries.Select(se => se.Entry).ToList());
|
||||
OnCompleteSelection();
|
||||
selectedEntries.Clear();
|
||||
}
|
||||
|
||||
private void OnCompleteSelection()
|
||||
{
|
||||
onSelection!(selectedEntries.Select(se => se.Entry).ToList());
|
||||
}
|
||||
|
||||
protected override bool IsEntrySelected(IMenuEntry entry)
|
||||
{
|
||||
return selectedEntries.Any(e => e.Panel == entry.Panel);
|
||||
|
||||
Reference in new issue
Block a user