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