2024-04-13 16:17:31 +03:00
|
|
|
using Ragon.Server.Time;
|
|
|
|
|
|
|
|
|
|
public class RagonActionTimer: IRagonAction
|
|
|
|
|
{
|
|
|
|
|
private Action _callback;
|
|
|
|
|
private float _timer;
|
|
|
|
|
private float _time;
|
|
|
|
|
|
|
|
|
|
public RagonActionTimer(Action callback, float timeInSeconds)
|
|
|
|
|
{
|
|
|
|
|
_callback = callback;
|
|
|
|
|
_time = timeInSeconds * 1000;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void Tick(float dt)
|
|
|
|
|
{
|
|
|
|
|
_timer += dt;
|
|
|
|
|
if (_timer >= _time)
|
2024-04-13 18:25:39 +03:00
|
|
|
{
|
2024-04-13 16:17:31 +03:00
|
|
|
_callback?.Invoke();
|
2024-04-13 18:25:39 +03:00
|
|
|
_timer = 0;
|
|
|
|
|
}
|
2024-04-13 16:17:31 +03:00
|
|
|
}
|
|
|
|
|
}
|