73 lines
1.9 KiB
C#
73 lines
1.9 KiB
C#
using UnityEngine;
|
|
#if MM_UI
|
|
#endif
|
|
|
|
namespace MoreMountains.Tools
|
|
{
|
|
public class MMProgressBarDemoAuto : MonoBehaviour
|
|
{
|
|
public enum TestModes
|
|
{
|
|
Permanent,
|
|
OneTime
|
|
}
|
|
|
|
public TestModes TestMode = TestModes.Permanent;
|
|
|
|
[MMEnumCondition("TestMode", (int)TestModes.Permanent)]
|
|
public float CurrentValue;
|
|
|
|
[MMEnumCondition("TestMode", (int)TestModes.Permanent)]
|
|
public float MinValue;
|
|
|
|
[MMEnumCondition("TestMode", (int)TestModes.Permanent)]
|
|
public float MaxValue = 100f;
|
|
|
|
[MMEnumCondition("TestMode", (int)TestModes.Permanent)]
|
|
public float Speed = 1f;
|
|
|
|
[MMEnumCondition("TestMode", (int)TestModes.OneTime)]
|
|
public float OneTimeNewValue;
|
|
|
|
[MMEnumCondition("TestMode", (int)TestModes.OneTime)]
|
|
public float OneTimeMinValue;
|
|
|
|
[MMEnumCondition("TestMode", (int)TestModes.OneTime)]
|
|
public float OneTimeMaxValue;
|
|
|
|
[MMEnumCondition("TestMode", (int)TestModes.OneTime)] [MMInspectorButton("OneTime")]
|
|
public bool OneTimeButton;
|
|
|
|
protected float _direction = 1f;
|
|
protected MMProgressBar _progressBar;
|
|
|
|
protected virtual void Start()
|
|
{
|
|
Initialization();
|
|
}
|
|
|
|
protected virtual void Update()
|
|
{
|
|
if (TestMode == TestModes.Permanent)
|
|
{
|
|
#if MM_UI
|
|
_progressBar.UpdateBar(CurrentValue, MinValue, MaxValue);
|
|
#endif
|
|
CurrentValue += Speed * Time.deltaTime * _direction;
|
|
if (CurrentValue <= MinValue || CurrentValue >= MaxValue) _direction *= -1;
|
|
}
|
|
}
|
|
|
|
protected virtual void Initialization()
|
|
{
|
|
_progressBar = GetComponent<MMProgressBar>();
|
|
}
|
|
|
|
protected virtual void OneTime()
|
|
{
|
|
#if MM_UI
|
|
_progressBar.UpdateBar(OneTimeNewValue, OneTimeMinValue, OneTimeMaxValue);
|
|
#endif
|
|
}
|
|
}
|
|
} |