23 lines
492 B
C#

using UnityEngine;
public class HoldTimer
{
private float targetTime;
private float currentTime;
public HoldTimer(float target) => targetTime = target;
public bool Update(bool isHolding)
{
currentTime = isHolding
? Mathf.Min(currentTime + Time.deltaTime, targetTime)
: 0;
var result = currentTime >= targetTime;
if (result == true) Reset();
return result;
}
public void Reset() => currentTime = 0;
}