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);
}
}
}
}