private void Update() { if (!IsRunning || TimeRemaining <= 0f) { return; } TimeRemaining -= Time.deltaTime; IsWarning = TimeRemaining <= WarnTime && TimeRemaining > 0; if (TimeRemaining <= 0f) { if (ParentComponent.OnTimerExpired != null) { ParentComponent.OnTimerExpired(); } StopTimer(); } UpdateSevenSegText(); }
private void Update() { if (IsStoppedPermanently) { return; } if (State != _newState) { if (_waitAndReset != null) { StopCoroutine(_waitAndReset); _waitAndReset = null; } switch (_newState) { case NeedyState.InitialSetup: _newState = NeedyState.AwaitingActivation; goto default; case NeedyState.AwaitingActivation: break; case NeedyState.Running: if (ParentComponent.OnNeedyActivation != null) { ParentComponent.OnNeedyActivation(); } break; case NeedyState.Cooldown: _waitAndReset = StartCoroutine(WaitAndReset()); goto default; case NeedyState.Terminated: case NeedyState.BombComplete: default: if (ParentComponent.OnNeedyDeactivation != null) { ParentComponent.OnNeedyDeactivation(); } break; } State = _newState; UpdateSevenSegText(); Debug.LogFormat("!IsRunning = {0}, TimeRemaining <= 0f = {1}", !IsRunning, TimeRemaining <= 0f); } if (!IsRunning || TimeRemaining <= 0f) { return; } TimeRemaining -= Time.deltaTime; IsWarning = TimeRemaining <= WarnTime && TimeRemaining > 0; if (TimeRemaining <= 0f) { if (ParentComponent.OnTimerExpired != null) { ParentComponent.OnTimerExpired(); } StopTimer(); } UpdateSevenSegText(); }