private IEnumerator InitScene() { _score = 0; _treasuresCollected = 0; _time = 180; // Session.Instance.GetLevelMetadata().TotalTime; _levelId = Session.Instance.GetLevelId(); _sceneName = Session.Instance.GetLevelMetadata().SceneName; _levelName = Session.Instance.GetLevelMetadata().LevelName; InputWrapper.Instance.EnableInput(false); HideAllThePanels(); Transition.gameObject.SetActive(true); Transition.DisplayIntro(true); Transition.DisplayGameOver(false); Transition.SetIntro(_levelId, _levelName, _lives); LevelHandlerUtils.DestroyLevel(); yield return(StartCoroutine(LevelHandlerUtils.LoadLevel(_sceneName))); Debug.Log(_sceneName); yield return(new WaitForSeconds(1.5f)); HideAllThePanels(); GameInfo.gameObject.SetActive(true); VirtualInput.gameObject.SetActive(true); UpdateGameInfoUI(); InputWrapper.Instance.EnableInput(true); _gameState = GameState.Playing; }
private void GameOver() { Time.timeScale = 0; HideAllThePanels(); Transition.gameObject.SetActive(true); Transition.DisplayIntro(false); Transition.DisplayGameOver(true); LevelHandlerUtils.DestroyLevel(); }
private void RestartLevel() { Debug.Log("RestartLevel called!"); _gameState = GameState.Lose; _lives--; if (_lives <= 0) { GameOver(); } else { HideAllThePanels(); Transition.gameObject.SetActive(true); Transition.DisplayIntro(true); Transition.DisplayGameOver(false); Transition.SetIntro(_levelId, _levelName, _lives); LevelHandlerUtils.DestroyLevel(); StartCoroutine(InitScene()); } }