TheStable/Assets/Scripts/TimerBase.cs
Jamie Greunbaum 690c5a40c2 - Added chicken sounds to the chickens.
- Began work on a game room so the world can be more of a hangout area.
2026-02-04 03:46:14 -05:00

62 lines
935 B
C#

using UdonSharp;
using UnityEngine;
using VRC.SDKBase;
using VRC.Udon;
[UdonBehaviourSyncMode(BehaviourSyncMode.None)]
public class TimerBase : UdonSharpBehaviour
{
protected float TimerLength = 0.0f;
private float _TimerCounter = 0.0f;
private bool _TimerIsRunning = false;
public void Update()
{
if (_TimerIsRunning)
{
_TimerCounter -= Time.deltaTime;
if (_TimerCounter <= 0.0f)
{
_TimerIsRunning = false;
TimerEvent();
}
}
}
public virtual void TimerEvent()
{
Debug.Log("[TimerBase] This timer won't do anything. Use a subclass instead.");
}
public virtual void StartTimer()
{
if (!_TimerIsRunning)
{
_TimerCounter = TimerLength;
_TimerIsRunning = true;
}
}
public void PauseTimer()
{
_TimerIsRunning = false;
}
public void ResumeTimer()
{
_TimerIsRunning = true;
}
public virtual void StopTimer()
{
PauseTimer();
_TimerCounter = TimerLength;
}
}