Ejemplo n.º 1
0
            public static IEnumerator LoadSceneNonAsync(SceneLoadingInfo sceneInfo)
            {
                Scene scene = sceneInfo._scene.GetScene();

                if (!scene.IsValid() || !scene.isLoaded)
                {
                    try
                    {
                        SceneManager.LoadScene(sceneInfo._scene.GetSceneName(), LoadSceneMode.Additive);
                    }
                    catch
                    {
                        yield break;
                    }
                }

                if (!scene.IsValid())
                {
                    scene = sceneInfo._scene.GetScene();
                }

                //Still have to wait until scene is loaded grr..
                while (!scene.isLoaded)
                {
                    yield return(null);
                }

                LoadAdditonalAssets(sceneInfo);

                yield break;
            }
Ejemplo n.º 2
0
            public static IEnumerator LoadScene(SceneLoadingInfo sceneInfo)
            {
                if (!sceneInfo._scene.IsSceneLoaded())
                {
                    AsyncOperation asyncOp;

                    try
                    {
                        asyncOp = SceneManager.LoadSceneAsync(sceneInfo._scene.GetSceneName(), LoadSceneMode.Additive);
                    }
                    catch
                    {
                        yield break;
                    }

                    while (!asyncOp.isDone)
                    {
                        yield return(null);
                    }

                    //Still have to wait until scene is loaded grr..
                    while (!sceneInfo._scene.IsSceneLoaded())
                    {
                        yield return(null);
                    }
                }

                LoadAdditonalAssets(sceneInfo);

                yield break;
            }
Ejemplo n.º 3
0
 public void StartSceneLoading(SceneLoadingInfo info)
 {
     if (info.NextScene != GameScene.Loading)
     {
         loadingInfo = info;
         SceneManager.LoadScene(GameScene.Loading.ToString(), LoadSceneMode.Single);
     }
 }
Ejemplo n.º 4
0
            private static void LoadAdditonalAssets(SceneLoadingInfo sceneInfo)
            {
                Scene scene = sceneInfo._scene.GetScene();

                if (sceneInfo._additionalLoadingObjects != null)
                {
                    foreach (GameObjectLoader.Ref loader in sceneInfo._additionalLoadingObjects)
                    {
                        GameObjectLoader.Load(scene, loader);
                    }
                }
            }