Exemplo n.º 1
0
    void Update()
    {
        if (!isRewinding)
        {
            timeSinceLastLoop += Time.deltaTime;
            roundedTime        = (int)timeSinceLastLoop;
        }
        else
        {
            decreasingTime  -= Time.deltaTime;
            roundedTime      = (int)decreasingTime;
            rewindTimeScale += Time.deltaTime;         // increases with time
            rewindTimeScale  = Mathf.Clamp(rewindTimeScale, 1f, 20f);
            Time.timeScale   = rewindTimeScale;
            if (decreasingTime < 0)
            {
                StopRewind();
                rewindTimeScale = timeScale;
            }
        }
        timerUI.UpdateTimerText(roundedTime);
        if (isHazardsActive)
        {
            HandleHazardTrigger(combustionTriggerTime, Hazard.combustion);
            HandleHazardTrigger(freezeTriggerTime, Hazard.freeze);
            HandleHazardTrigger(secondCombustionTriggerTime, Hazard.combustion);
            HandleHazardTrigger(secondFreezeTriggerTime, Hazard.freeze);
            HandleHazardTrigger(thirdCombustionTriggerTime, Hazard.combustion);
        }

        HandleDebugMode();
    }