Esempio n. 1
0
 private void DecreaseTime()
 {
     if (!IsPaused && !IsFinished)
     {
         _currentTime -= Time.deltaTime;
     }
     if (_currentTime <= 0f && !IsFinished)
     {
         _currentTime = 0f;
         IsFinished   = true;
         OnTimerFinish?.Invoke();
     }
 }
Esempio n. 2
0
        private IEnumerator Timer()
        {
            yield return(new WaitForSeconds(Converter.MillisecondsToSeconds(TimeStep)));

            this.Milliseconds -= TimeStep;

            if (OnTimeStepInterval != null)
            {
                OnTimeStepInterval.Invoke(Milliseconds);
            }
            if (Milliseconds <= 0)
            {
                if (OnTimerFinish != null)
                {
                    OnTimerFinish.Invoke();
                }
                Destroy(this);
            }
            else
            {
                StartCoroutine("Timer");
            }
        }
Esempio n. 3
0
        private IEnumerator StartTimerCoroutine(float duration)
        {
            yield return(new WaitForSeconds(duration));

            OnTimerFinish?.Invoke();
        }
Esempio n. 4
0
 public void EndEarly()
 {
     OnTimerFinish?.Invoke();
     StopAllCoroutines();
 }