namespace UIWidgets.Examples { using UIWidgets; using UnityEngine; /// /// CircularSlider with label. /// [RequireComponent(typeof(CircularSlider))] public class TestCircularSlider : MonoBehaviour { /// /// Text component to display min value. /// [SerializeField] protected TextAdapter Label; CircularSlider slider; /// /// Start this instance. /// protected virtual void Start() { Init(); } /// /// Init and adds listeners. /// [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "HAA0603:Delegate allocation from a method group", Justification = "Required")] protected virtual void Init() { slider = GetComponent(); if (slider != null) { slider.OnValueChanged.AddListener(ValueChanged); ValueChanged(slider.Value); } } /// /// Callback when slider value changed. /// /// Value. protected virtual void ValueChanged(int value) { Label.text = value.ToString(); } /// /// Remove listeners. /// [System.Diagnostics.CodeAnalysis.SuppressMessage("Performance", "HAA0603:Delegate allocation from a method group", Justification = "Required")] protected virtual void OnDestroy() { if (slider != null) { slider.OnValueChanged.RemoveListener(ValueChanged); } } } }