protected IEnumerator Transition(string sceneName) { m_Transitioning = true; yield return(StartCoroutine(SceneFader.FadeSceneOut(SceneFader.FadeType.Loading))); if (sceneName != null) { yield return(SceneManager.LoadSceneAsync(sceneName)); } else { #if UNITY_EDITOR Debug.LogWarning("No scene transition start was found"); #endif yield return(SceneManager.LoadSceneAsync(SceneManager.GetActiveScene().buildIndex)); } SceneTransitionEnd sceneTransitionEnd = GetSceneTransitionEnd(); if (sceneTransitionEnd != null) { SetupNewScene(sceneTransitionEnd); } yield return(StartCoroutine(SceneFader.FadeSceneIn())); m_Transitioning = false; }
protected SceneTransitionEnd GetSceneTransitionEnd() { SceneTransitionEnd sceneTransitionEnd = FindObjectOfType <SceneTransitionEnd>(); if (sceneTransitionEnd != null) { return(sceneTransitionEnd); } #if UNITY_EDITOR Debug.LogWarning("No scene transition end was found"); #endif return(null); }
protected void SetupNewScene(SceneTransitionEnd sceneTransitionEnd) { }