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