Files
AetherBags/KamiToolKit/Nodes/Component/EnumDropDownNode.cs
T
KnackAtNite 8db4ce6094
Debug Build and Test / Build against Latest Dalamud (push) Has been cancelled
Debug Build and Test / Build against Staging Dalamud (push) Has been cancelled
Initial commit: AetherBags + KamiToolKit for FC Gitea
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-08 14:46:31 -05:00

33 lines
860 B
C#

using System;
using System.Collections.Generic;
namespace KamiToolKit.Nodes;
public class EnumDropDownNode<T> : DropDownNode<EnumButtonListNode<T>, T> where T : Enum{
public EnumDropDownNode() {
OptionListNode.OnOptionSelected += OptionSelectedHandler;
}
public Action<T>? OnOptionSelected { get; set; }
public required List<T>? Options {
get => OptionListNode.Options;
set {
OptionListNode.Options = value;
OptionListNode.SelectDefaultOption();
UpdateLabel(OptionListNode.SelectedOption);
}
}
private void OptionSelectedHandler(T option) {
OnOptionSelected?.Invoke(option);
UpdateLabel(option);
Toggle(false);
}
protected override void UpdateLabel(T? option) {
LabelNode.String = option?.Description;
}
}