using UnityEngine;
using UnityEngine.Events;
public class Timer : MonoBehaviour
{
public float timeRemaining = 10;
public bool timerIsRunning = false;
UnityAction callWhenDone;
private void Start()
{
timerIsRunning = true;
}
void Update()
{
if (timerIsRunning)
{
if (timeRemaining > 0)
{
timeRemaining -= Time.deltaTime;
}
else
{
Debug.Log("Time has run out!");
timeRemaining = 0;
timerIsRunning = false;
callWhenDone?.Invoke();
}
}
}
public void StartTimer(float timeOnTimer, UnityAction whenDone = null)
{
print("start timer");
timeRemaining = timeOnTimer;
timerIsRunning = true;
callWhenDone = whenDone;
}
public void CancelTimer()
{
timeRemaining = 0;
timerIsRunning = false;
callWhenDone = null;
}
}