1
This commit is contained in:
32
Unity/Scripts/UX/Core/UXRadioButtonGroup.cs
Normal file
32
Unity/Scripts/UX/Core/UXRadioButtonGroup.cs
Normal file
@@ -0,0 +1,32 @@
|
||||
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<RadioButtonGroup>
|
||||
{
|
||||
[Header(Constant.Header.Events)]
|
||||
public UnityEvent<int> onSelectedIndex = new();
|
||||
public UnityEvent<string> onSelectedValue = new();
|
||||
public void Set(List<string> list)
|
||||
{
|
||||
visualElement.choices = list;
|
||||
visualElement.SetValueWithoutNotify(0);
|
||||
}
|
||||
public override void OnStart()
|
||||
{
|
||||
base.OnStart();
|
||||
visualElement.RegisterValueChangedCallback(OnSelected);
|
||||
}
|
||||
void OnSelected(ChangeEvent<int> indexEvent)
|
||||
{
|
||||
var list = visualElement.choices;
|
||||
var value = list.ElementAt(indexEvent.newValue);
|
||||
onSelectedIndex.Invoke(indexEvent.newValue);
|
||||
onSelectedValue.Invoke(value);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user