using System.Collections; using UnityEngine; using UnityEngine.UI; using System; [DisallowMultipleComponent] public class MultipleSmoothSlider : MonoBehaviour { [SerializeField] SmoothSlider[] m_Sliders; public SmoothSlider[] sliders { get { return this.m_Sliders; } } [SerializeField] [Range(0, 1)] float m_Value; public float value { get { return m_Value; } set { m_Value = Mathf.Clamp01(value); if (this.sliders != null) { for (var i = 0; i < sliders.Length; i++) { var slider = sliders[i]; if (slider != null) { slider.value = m_Value; } } } } } public void ResetValue(float _value) { if (this.sliders != null) { for (var i = 0; i < sliders.Length; i++) { var slider = sliders[i]; if (slider != null) { slider.ResetValue(_value); } } } } public void UpdateDelayTimes(float[] _delayTimes) { if (sliders == null) { return; } if (_delayTimes == null) { return; } var min = Mathf.Min(_delayTimes.Length, sliders.Length); for (var i = 0; i < min; i++) { sliders[i].delay = _delayTimes[i]; } } private void OnValidate() { value = m_Value; } }