// Update is called once per frame protected override void UpdateTime(float deltaTime) { mTimeRemaining -= deltaTime; if (mTimeRemaining < 0.0f) { // Do cleanup first because Invoked methods might change the state. Reset(); OnTimerFired.Invoke(); } }
// Update is called once per frame protected override void UpdateTime(float deltaTime) { if (!IsFinished) { mTimeRemaining -= deltaTime; if (mTimeRemaining < 0.0f) { // Make sure to set IsFinished first because Reset is called via Recyclable later on. IsFinished = true; OnTimerFired.Invoke(); } } }