hellbound/Assets/Sources/Feel/MMTools/Tools/MMGUI/MMProgressBarDemoAuto.cs

64 lines
2.0 KiB
C#
Raw Normal View History

2021-11-26 11:16:25 +03:00
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using MoreMountains.Tools;
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 = 0f;
[MMEnumCondition("TestMode", (int)TestModes.Permanent)]
public float MinValue = 0f;
[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 Initialization()
{
_progressBar = GetComponent<MMProgressBar> ();
}
protected virtual void Update()
{
if (TestMode == TestModes.Permanent)
{
_progressBar.UpdateBar(CurrentValue, MinValue, MaxValue);
CurrentValue += Speed * Time.deltaTime * _direction;
if ((CurrentValue <= MinValue) || (CurrentValue >= MaxValue))
{
_direction *= -1;
}
}
}
protected virtual void OneTime()
{
_progressBar.UpdateBar(OneTimeNewValue, OneTimeMinValue, OneTimeMaxValue);
}
}
}