private IEnumerator LoadSceneTransitions(ESceneNames sceneName) { faderAnimator.SetBool(VisibleVariable, true); yield return(new WaitForEndOfFrame()); yield return(new WaitForSeconds(fadingClip.length)); #if UNITY_4_6 //LoadLevelAsync wasn't in the free version of Unity in 4.6 so did this for compatibility reasons Application.LoadLevel(sceneName.ToString()); while (Application.isLoadingLevel) { yield return(new WaitForEndOfFrame()); } #else yield return(Application.LoadLevelAsync(sceneName.ToString())); #endif faderAnimator.SetBool(VisibleVariable, false); }
void OnSwitchState() { for (int i = 0; i < SceneManager.sceneCount; i++) { Scene scene = SceneManager.GetSceneAt(i); if (scene.name == next_scene.ToString()) { SceneManager.SetActiveScene(scene); SwitchState(ESceneState.FadeIn); return; } } StartCoroutine(WaitforSceneToLoad()); }