IEnumerator RestartScene(bool instantly = false) { if (instantly) { StartCoroutine(cameraMovement.NewRestartRotation()); yield return(new WaitForSecondsRealtime(cameraMovement.newMovementDuration * 0.15f)); } switch (GlobalVariables.Instance.ModeSequenceType) { case ModeSequenceType.Selection: yield return(StartCoroutine(LoadScene(GlobalVariables.Instance.CurrentModeLoaded, GameStateEnum.Playing, !instantly))); break; case ModeSequenceType.Random: yield return(StartCoroutine(LoadScene(RandomScene(), GameStateEnum.Playing, !instantly))); break; case ModeSequenceType.Cocktail: yield return(StartCoroutine(LoadScene(RandomCocktailScene(), GameStateEnum.Playing, !instantly))); break; } GlobalVariables.Instance.slowMotionCamera.StopPauseSlowMotion(); if (!instantly) { yield return(StartCoroutine(cameraMovement.NewPlayPosition())); } }