MusicBeat

This commit is contained in:
SoulliesOfficial
2026-05-26 00:21:27 -04:00
parent 649b7a5ddc
commit b5cb6152ff
663 changed files with 534461 additions and 587 deletions

View File

@@ -18,7 +18,7 @@ namespace Cielonos.MainGame.Characters
private float enemyTimeScale => timeManager.enemyTimeScale.Value;
private float nonPlayerTimeScale => timeManager.nonPlayerTimeScale.Value;
public Dictionary<string, Timer> coolDownTimers = new Dictionary<string, Timer>();
public Dictionary<string, CooldownTimer> coolDownTimers = new Dictionary<string, CooldownTimer>();
public float TimeScale => owner.fraction switch
{
@@ -265,34 +265,20 @@ namespace Cielonos.MainGame.Characters
}
}
public class Timer
public class CooldownTimer : Timer
{
public float originalDuration; // 可选:记录最初设置的持续时间,方便重置时使用
public float duration;
public float currentTime;
public float Percentage => duration > 0 ? Mathf.Clamp01(currentTime / duration) : 1f;
public bool IsCompleted => currentTime >= duration;
public Timer(float duration)
public CooldownTimer(float duration) : base(duration)
{
this.originalDuration = duration;
this.duration = duration;
this.currentTime = 0f;
}
public void Update(float deltaTime)
{
if (!IsCompleted)
{
currentTime += deltaTime;
}
}
/// <summary>
/// 重置计时器,可以选择新的持续时间(如果不提供则使用原始持续时间)
/// </summary>
/// <param name="newDuration"></param>
public void Reset(float newDuration = -1f)
public override void Reset(float newDuration = -1f)
{
currentTime = 0f;
duration = newDuration >= 0f ? newDuration : originalDuration;