Exemple #1
0
 public Timer(float deltaTime, float duration, OnTimerEnd action)
 {
     this.deltaTime = deltaTime;
     this.duration  = duration;
     targetTime     = duration;
     onEnd          = action;
 }
Exemple #2
0
        public static Timer Wait(Int64 microseconds, OnTimerEnd onEnd)
        {
            Timer ret = new Timer();

            ret.onTimerEnd_ = onEnd;
            ret.timer_      = timer_wait(microseconds, ret.onEndCallback_);
            return(ret);
        }
Exemple #3
0
 public Timer(float deltaTime, float duration, OnTimerEnd action)
 {
     this._deltaTime = deltaTime;
     this._duration  = duration;
     _targetTime     = duration;
     _onEnd          = action;
     _repeat         = true;
 }
Exemple #4
0
 public virtual void End()
 {
     if (onTimerEnd != null)
     {
         onTimerEnd();
     }
     onRun      = null;
     onTimerEnd = null;
 }
    private IEnumerator Timer()
    {
        Debug.Log("Antes do Yield");
        yield return(new WaitForSeconds(Duration));

        Debug.Log("Depois do Yield");

        OnTimerEnd.Invoke(this);
    }
Exemple #6
0
 public void Stop()
 {
     if (!_awake)
     {
         return;
     }
     _awake = false;
     OnTimerEnd?.Invoke();
 }
Exemple #7
0
 public void Stop()
 {
     if (!_isAwake)
     {
         return;
     }
     Pause();
     Reset();
     OnTimerEnd?.Invoke();
 }
Exemple #8
0
    private void CheckForTimerEnd()
    {
        if (RemainingSeconds > 0f)
        {
            return;
        }
        RemainingSeconds = 0f;

        OnTimerEnd?.Invoke();
    }
    private void Tick()
    {
        currentTime -= Time.deltaTime;
        if (currentTime <= 0)
        {
            currentTime = 0;
            OnTimerEnd?.Invoke();
        }

        OnTimerTick?.Invoke(currentTime);
    }
Exemple #10
0
        public void End()
        {
            if (ended)
            {
                return;
            }

            ended       = true;
            currentTime = maxTime;
            OnTimerEnd?.Invoke();
        }
        private void Update()
        {
            if (timeStopped)
            {
                return;
            }

            currentTime -= Time.deltaTime;
            if (currentTime <= timeToEnd)
            {
                OnTimerEnd?.Invoke();
                //SpawnTimer = 60;
            }
        }
Exemple #12
0
        public void Update(GameTime gameTime)
        {
            if (ended || Paused)
            {
                return;
            }

            currentTime += gameTime.ElapsedGameTime.Milliseconds;
            if (currentTime >= maxTime)
            {
                ended       = true;
                currentTime = maxTime;
                OnTimerEnd?.Invoke();
            }
        }
Exemple #13
0
    public void CountTime(float currentTime)
    {
        if (targetTime == duration || isCooldown)
        {
            return;
        }

        duration += currentTime;

        if (duration < targetTime)
        {
            return;
        }

        duration = targetTime;
        OnTimerEnd?.Invoke();
    }
Exemple #14
0
    public void PassTime(float currentTime)
    {
        if (duration == 0 || !isCooldown)
        {
            return;
        }

        duration -= currentTime;

        if (duration > 0)
        {
            return;
        }

        duration = 0;
        OnTimerEnd?.Invoke();
    }
    void Update()
    {
        if (!TimerIsStarted)
        {
            return;
        }
        GameTimeLeftTimer -= DeltaTime;


        if (GameTimeLeftTimer <= 0)
        {
            if (!GameEnded)
            {
                OnTimerEnd?.Invoke();
                GameEnded = true;
            }
            GameTimeLeftTimer = 0;
        }
    }
Exemple #16
0
        public void StartTimer()
        {
            for (;;)
            {
                foreach (var room in Timers.ToList())
                {
                    Timers[room.Key]--;
                    SendMessage(TimersData[room.Key], Timers[room.Key]);
                    if (Timers[room.Key] <= 0)
                    {
                        RemoveTimer(room.Key);
                        OnTimerEnd?.Invoke(room.Key);
                    }
                }

                Thread.Sleep(1000);
            }

            // ReSharper disable once FunctionNeverReturns
        }
Exemple #17
0
        public void Tick(float dt)
        {
            // Timer is done
            if (_duration < 0f)
            {
                return;
            }

            _duration -= dt;

            // Timer is not done
            if (_duration > 0f)
            {
                return;
            }

            _duration = 0f;

            OnTimerEnd?.Invoke();
        }
Exemple #18
0
        public void Update()
        {
            if (IsRunning)
            {
                if (TimeRemaining > 0)
                {
                    TimeRemaining -= UnityEngine.Time.deltaTime;

                    if (TimeRemaining <= 5 && !spawnInFiveSecondsFired)
                    {
                        spawnInFiveSecondsFired = true;
                        OnTimerEndInFiveSeconds?.Invoke(UserId);
                    }
                }
                else
                {
                    Reset();
                    OnTimerEnd?.Invoke(UserId);
                }
            }
        }
Exemple #19
0
    void UpdateTimer()
    {
        int newLeftTime = (int)(duration - GetPlayTime());

        if (leftTime == newLeftTime)
        {
            return;
        }

        leftTime   = newLeftTime;
        needUpdate = true;

        //audioSource.PlayOneShot(countdownBeepSFX);
        if (leftTime <= 0)
        {
            leftTime  = 0;
            isPlaying = false;
            OnTimerEnd?.Invoke();
            return;
        }
    }
Exemple #20
0
 private void OnDisable()
 {
     StopTimer();
     OnTimerEnd.Invoke();
 }
Exemple #21
0
 private void TimerEnd()
 {
     _alreadyStarted = false;
     _updater.Dispose();
     OnTimerEnd.SafeInvoke();
 }