Files
Continentis/Assets/OtherPlugins/Feel/MMTools/Accessories/MMGUI/MMProgressBarDemoAuto.cs
SoulliesOfficial d09b58fd80 架构大更
2026-03-20 11:56:50 -04:00

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
}
}
}