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); } } } }
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(); } }