An Lightweight Efficient Timer for Unity. Inspired by Photon Fusion TickTimer
private SimulationTimer _disableTimer;
private void Start()
{
_disableTimer = SimulationTimer.CreateFromSeconds(_delay);
}
private void Update()
{
if(_disableTimer.IsExpired())
{
_gameObject.SetActive(false);
_disableTimer = SimulationTimer.None;
}
}
private PauseableSimulationTimer _timer;
public PauseableSimulationTimer Timer => _timer;
private void Start()
{
_timer = PauseableSimulationTimer.CreateFromSeconds(_delay);
}
public void TogglePause()
{
if(!_timer.IsPaused)
{
_timer.Pause();
return;
}
_timer.Resume();
}
private void Update()
{
if(_timer.IsExpired())
{
_gameObject.SetActive(false);
_timer = PauseableSimulationTimer.None;
}
}
SimulationTimer
: Default Timer
PauseableTimer
: Pauseable Timer