| | |
| | | using UnityEngine.UI; |
| | | |
| | | |
| | | [DisallowMultipleComponent] |
| | | |
| | | public class SmoothSlider : MonoBehaviour |
| | | { |
| | | [DisallowMultipleComponent] |
| | | |
| | | [SerializeField] |
| | | Slider m_Slider; |
| | | public Slider slider { |
| | | get { return m_Slider; } |
| | | } |
| | | public class SmoothSlider : MonoBehaviour |
| | | { |
| | | |
| | | [SerializeField] |
| | | [Range(0, 10)] |
| | | float m_Delay = 0.2f; |
| | | public float delay { |
| | | get { return m_Delay; } |
| | | set { |
| | | m_Delay = Mathf.Clamp(value, 0, 10); |
| | | } |
| | | } |
| | | |
| | | [SerializeField] |
| | | [Range(0, 1)] |
| | | float m_Value = 0f; |
| | | public float value { |
| | | get { |
| | | return m_Value; |
| | | } |
| | | set { |
| | | m_Value = Mathf.Clamp01(value); |
| | | } |
| | | } |
| | | |
| | | float refSpeed = 0f; |
| | | |
| | | public void ResetValue(float _value) |
| | | { |
| | | value = _value; |
| | | if (slider != null) |
| | | { |
| | | slider.value = Mathf.Clamp01(_value); |
| | | } |
| | | } |
| | | |
| | | void OnEnable() |
| | | { |
| | | refSpeed = 0f; |
| | | } |
| | | |
| | | void LateUpdate() |
| | | { |
| | | if (slider == null) |
| | | { |
| | | return; |
| | | } |
| | | if (Mathf.Abs(slider.value - value) > 0.001f) |
| | | { |
| | | slider.value = Mathf.SmoothDamp(slider.value, value, ref refSpeed, delay); |
| | | } |
| | | } |
| | | |
| | | [SerializeField] |
| | | Slider m_Slider; |
| | | public Slider slider { |
| | | get { return m_Slider; } |
| | | } |
| | | |
| | | [SerializeField] |
| | | [Range(0, 10)] |
| | | float m_Delay = 0.2f; |
| | | public float delay { |
| | | get { return m_Delay; } |
| | | set { |
| | | m_Delay = Mathf.Clamp(value, 0, 10); |
| | | } |
| | | } |
| | | |
| | | [SerializeField] |
| | | [Range(0, 1)] |
| | | float m_Value = 0f; |
| | | public float value { |
| | | get { |
| | | return m_Value; |
| | | } |
| | | set { |
| | | m_Value = Mathf.Clamp01(value); |
| | | } |
| | | } |
| | | |
| | | [SerializeField] public Text Text; |
| | | |
| | | float refSpeed = 0f; |
| | | |
| | | public void ResetValue(float _value) |
| | | { |
| | | value = _value; |
| | | if (slider != null) |
| | | { |
| | | slider.value = Mathf.Clamp01(_value); |
| | | } |
| | | } |
| | | |
| | | void OnEnable() |
| | | { |
| | | refSpeed = 0f; |
| | | } |
| | | |
| | | void LateUpdate() |
| | | { |
| | | if (slider == null) |
| | | { |
| | | return; |
| | | } |
| | | if (Mathf.Abs(slider.value - value) > 0.001f) |
| | | { |
| | | slider.value = Mathf.SmoothDamp(slider.value, value, ref refSpeed, delay); |
| | | } |
| | | } |
| | | |
| | | } |