64 lines
1.2 KiB
Markdown
Raw Normal View History

2024-10-17 17:23:05 +03:00
# Simulation Timer
An Lightweight Efficient Timer for Unity. Inspired by Photon Fusion TickTimer
## Usage/Examples
#### Simulation Timer
![](https://github.com/StinkySteak/com.stinkysteak.simulationtimer/blob/main/Gif/DefaultTimer.gif)
```csharp
private SimulationTimer _disableTimer;
private void Start()
{
_disableTimer = SimulationTimer.CreateFromSeconds(_delay);
}
private void Update()
{
if(_disableTimer.IsExpired())
{
_gameObject.SetActive(false);
_disableTimer = SimulationTimer.None;
}
}
```
#### Pauseable Simulation Timer
![](https://github.com/StinkySteak/com.stinkysteak.simulationtimer/blob/main/Gif/PauseableTimer.gif)
```csharp
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;
}
}
```
## Class Reference
`SimulationTimer`: Default Timer
`PauseableTimer`: Pauseable Timer