Пример #1
0
        protected void OnActiveSceneChanged(Scene oldScene, Scene newScene)
        {
            isLoading       = false;
            loadingProgress = 0f;

            SubScene newSceneSubScene = UnityVersionHandler.GetSceneInstance <SubScene> (newScene);

            if (newSceneSubScene)
            {
                // New active scene is a sub-scene
                newSceneSubScene.MakeMain();
            }

            if (!string.IsNullOrEmpty(oldScene.name))
            {
                SceneInfo oldSceneInfo = GetSceneInfo(oldScene.buildIndex);
                if (oldSceneInfo != null)
                {
                    MultiSceneChecker multiSceneChecker = MultiSceneChecker.GetSceneInstance(oldScene);
                    if (multiSceneChecker != null)
                    {
                        // Register as a subscene
                        GameObject subSceneOb = new GameObject();
                        UnityEngine.SceneManagement.SceneManager.MoveGameObjectToScene(subSceneOb, oldScene);
                        SubScene oldSubScene = subSceneOb.AddComponent <SubScene> ();
                        oldSubScene.Initialise(multiSceneChecker);
                    }
                }
            }
        }
Пример #2
0
        protected void OnActiveSceneChanged(Scene oldScene, Scene newScene)
        {
            isLoading       = false;
            loadingProgress = 0f;

            SubScene newSceneSubScene = UnityVersionHandler.GetSceneInstance <SubScene> (newScene);

            if (newSceneSubScene != null)
            {
                // New active scene is a sub-scene
                newSceneSubScene.MakeMain();
            }
        }