Пример #1
0
        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);
        }
Пример #2
0
 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());
 }