mirror of
https://github.com/Steffo99/better-tee.git
synced 2024-11-25 16:34:17 +00:00
56 lines
1.2 KiB
C#
56 lines
1.2 KiB
C#
using System;
|
|
using UnityEngine;
|
|
|
|
|
|
namespace BetterTee.Player
|
|
{
|
|
|
|
public class Timer : MonoBehaviour
|
|
{
|
|
public float startingTime = 0f;
|
|
public float time = 0f;
|
|
|
|
private bool isTriggered = false;
|
|
private bool isRunning = false;
|
|
|
|
protected void Update() {
|
|
if(time >= 0f) {
|
|
if(isRunning) {
|
|
time -= Time.deltaTime;
|
|
}
|
|
}
|
|
else {
|
|
if(isTriggered) {
|
|
OnTimeOut();
|
|
time = 0f;
|
|
isTriggered = false;
|
|
isRunning = false;
|
|
}
|
|
}
|
|
}
|
|
|
|
public void TimerSet(float startingTime) {
|
|
isTriggered = true;
|
|
isRunning = false;
|
|
this.startingTime = startingTime;
|
|
time = startingTime;
|
|
}
|
|
|
|
public void TimerStart() {
|
|
isRunning = true;
|
|
}
|
|
|
|
public void TimerPause() {
|
|
isRunning = false;
|
|
}
|
|
|
|
public void TimerCancel() {
|
|
time = 0f;
|
|
isTriggered = false;
|
|
isRunning = false;
|
|
}
|
|
|
|
public event Action OnTimeOut;
|
|
}
|
|
|
|
}
|