private IEnumerator LoadSceneAndSetActive(string sceneName) { if (SceneManager.sceneCount > 1) { yield return(SceneManager.UnloadSceneAsync(SceneManager.GetActiveScene().buildIndex)); } InteractingPlayer.SetPosition(new Vector3(10000, 10000, 10000), Quaternion.identity); yield return(SceneManager.LoadSceneAsync(sceneName, LoadSceneMode.Additive)); Scene newlyLoadedScene = SceneManager.GetSceneAt(SceneManager.sceneCount - 1); SceneManager.SetActiveScene(newlyLoadedScene); state = eGameManagerState.preLevel; LevelAdvancePanel.FadeOutToBeginLevel(StartLevel); }
void StartLevel() { AlertModeManager.SwitchToAlertMode(false); GameObject go = GameObject.Find("_PlayerStart"); if (go != null) { InteractingPlayer.SetPosition(go.transform.position, go.transform.rotation); StealthPlayerCamera.ResetToFarPosition(); } state = eGameManagerState.level; if (LEVEL_START_EVENT != null) { LEVEL_START_EVENT(); } }