using UnityEngine;
using UnityEngine.UI;
namespace Cryville.Common.Unity.UI {
///
/// A non-interactive that has an internal tweening behaviour.
///
public class ProgressBar : Slider {
[SerializeField][Range(0f, 1f)]
[Tooltip("The tweening parameter.")]
float m_smooth = 0;
///
/// The tweening parameter.
///
public float Smooth {
get { return m_smooth; }
set { m_smooth = value; }
}
[SerializeField]
[Tooltip("The target value.")]
float m_targetValue;
///
/// Gets the current displayed value or sets the target value.
///
public override float value {
get { return base.value; }
set { m_targetValue = value; }
}
protected override void Update() {
base.value = (base.value - m_targetValue) * m_smooth + m_targetValue;
base.Update();
}
}
}