1
Fork 0
mirror of https://github.com/Steffo99/better-tee.git synced 2024-11-22 07:14:19 +00:00
better-tee/Assets/Common/Scripts/Timer.cs
2019-09-11 19:46:01 +02:00

58 lines
1.3 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
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(this, EventArgs.Empty);
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 EventHandler OnTimeOut;
protected virtual void _OnTimeOut(object sender, EventArgs e)
{
EventHandler handler = OnTimeOut;
handler?.Invoke(this, e);
}
}