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