/** * <summary>Syncs the component with the correct scene.</summary> * <param name = "_multiSceneChecker">The MultiSceneChecker component in the scene for which this component is to sync with.</param> */ public void Initialise(MultiSceneChecker _multiSceneChecker) { Scene scene = _multiSceneChecker.gameObject.scene; kickStarter = _multiSceneChecker.GetComponent <KickStarter>(); sceneIndex = scene.buildIndex; gameObject.name = "SubScene " + sceneIndex; localVariables = _multiSceneChecker.GetComponent <LocalVariables>(); sceneSettings = _multiSceneChecker.GetComponent <SceneSettings>(); UnityEngine.SceneManagement.SceneManager.MoveGameObjectToScene(gameObject, scene); kickStarter = _multiSceneChecker.GetComponent <KickStarter> (); _multiSceneChecker.gameObject.SetActive(false); mainCamera = UnityVersionHandler.GetOwnSceneInstance <MainCamera> (gameObject); if (mainCamera) { mainCamera.gameObject.SetActive(false); } Player ownPlayer = UnityVersionHandler.GetOwnSceneInstance <Player> (gameObject); if (ownPlayer) { ownPlayer.gameObject.SetActive(false); } if (sceneSettings.OverridesCameraPerspective()) { ACDebug.LogError("The added scene (" + scene.name + ", " + scene.buildIndex + ") overrides the default camera perspective - this feature should not be used in conjunction with multiple-open scenes.", gameObject); } KickStarter.sceneChanger.RegisterSubScene(this); }
/** * <summary>Syncs the component with the correct scene.</summary> * <param name = "_multiSceneChecker">The MultiSceneChecker component in the scene for which this component is to sync with.</param> */ public void Initialise(MultiSceneChecker _multiSceneChecker) { #if UNITY_5_3 || UNITY_5_4 || UNITY_5_3_OR_NEWER UnityEngine.SceneManagement.Scene scene = _multiSceneChecker.gameObject.scene; gameObject.name = "SubScene " + scene.buildIndex; kickStarter = _multiSceneChecker.GetComponent <KickStarter>(); sceneInfo = new SceneInfo(scene.name, scene.buildIndex); localVariables = _multiSceneChecker.GetComponent <LocalVariables>(); sceneSettings = _multiSceneChecker.GetComponent <SceneSettings>(); UnityEngine.SceneManagement.SceneManager.MoveGameObjectToScene(gameObject, scene); kickStarter = UnityVersionHandler.GetOwnSceneInstance <KickStarter> (gameObject); if (kickStarter != null) { kickStarter.gameObject.SetActive(false); } mainCamera = UnityVersionHandler.GetOwnSceneInstance <MainCamera> (gameObject); if (mainCamera != null) { mainCamera.gameObject.SetActive(false); } Player ownPlayer = UnityVersionHandler.GetOwnSceneInstance <Player> (gameObject); if (ownPlayer != null) { ownPlayer.gameObject.SetActive(false); } KickStarter.sceneChanger.RegisterSubScene(this); #endif }