private void Update()
 {
     if (ThePlayer.IsAlive() && !Level.AtCaveEnd())
     {
         AddDistanceFromTime(Time.deltaTime);
     }
     if (PlayerController.State == GameStates.Normal && Level.AtCaveEnd())
     {
         ThePlayer.CaveEndReached();
     }
 }
    private IEnumerator UpdateResumeTimer()
    {
        float waitTime = Level.GameMenu.RaiseMenu();

        yield return(new WaitForSeconds(waitTime));

        _resumeTimerStart = Time.time;

        while (ThePlayer.IsAlive() && _resumeTimerStart + ResumeTimer - waitTime > Time.time)
        {
            float timeRemaining = _resumeTimerStart + ResumeTimer - Time.time;
            Level.GameHud.SetResumeTimer(timeRemaining);
            yield return(null);
        }
        ResumeGameplay();
    }