64 lines
2.0 KiB
C#
64 lines
2.0 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|