using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Events; using UnityEngine.EventSystems; using UnityEngine.UI; public class EnumSelect : MonoBehaviour { public EventTrigger prevBtn; public EventTrigger nextBtn; public Text label; public string[] choices; public int curIndex; public string value => choices[curIndex]; public UnityEvent OnValueChanged; void Start() { update(); EventTrigger.Entry entry = new EventTrigger.Entry(); entry.eventID = EventTriggerType.PointerDown; entry.callback.AddListener(OnSelectNext); nextBtn.triggers.Add(entry); EventTrigger.Entry entry2 = new EventTrigger.Entry(); entry2.eventID = EventTriggerType.PointerDown; entry2.callback.AddListener(OnSelectPrev); prevBtn.triggers.Add(entry2); } void OnSelectNext(BaseEventData e){ curIndex = (curIndex < choices.Length-1) ? curIndex+1 : 0; update(); } void OnSelectPrev(BaseEventData e){ curIndex = (curIndex > 0) ? curIndex-1 : choices.Length; update(); } void update(){ label.text = choices[curIndex]; } }