// Update is called once per frame public void Update() { if (isRunning) { if (Time.timeSinceLevelLoad >= 1 && !isTimeOut) { _currentValueInSeconds -= Time.deltaTime; if (FloatEquals(_currentValueInSeconds, 0)) { isTimeOut = true; if (OnTimerCompleted != null) { OnTimerCompleted.Invoke(); } } } } }
protected virtual void DoTimerAction() { OnTimerCompleted?.Invoke(this); }
IEnumerator CompleteOnTimer() { yield return(new WaitForSeconds(5)); OnTimerCompleted?.Invoke(); }