// Update is called once per frame void Update() { if (timerState != TimerStates.Active) { return; } CallTime -= Time.deltaTime; if (CallTime < 0) { onElapsed.BeginInvoke(null, null); timerState = TimerStates.Ended; } }