using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UIElements; using UnityEngine.Events; using System.Linq; namespace BITKit.UX { public class UXRadioButtonGroup : UXElement { [Header(Constant.Header.Events)] public UnityEvent onSelectedIndex = new(); public UnityEvent onSelectedValue = new(); public void Set(List list) { visualElement.choices = list; visualElement.SetValueWithoutNotify(0); } public override void OnStart() { base.OnStart(); visualElement.RegisterValueChangedCallback(OnSelected); } void OnSelected(ChangeEvent indexEvent) { var list = visualElement.choices; var value = list.ElementAt(indexEvent.newValue); onSelectedIndex.Invoke(indexEvent.newValue); onSelectedValue.Invoke(value); } } }