23 lines
492 B
C#
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;
|
|
}
|