/** * <summary>Loads data used by this script from a PlayerData class.</summary> * <param name = "playerData">The PlayerData to load from.</param> * <param name = "loadSubScenes">If True, then sub-scenes will be loaded</param> */ public void LoadPlayerData(PlayerData playerData, bool loadSubScenes = true) { foreach (SubScene subScene in subScenes) { SceneInfo sceneInfo = GetSceneInfo(subScene.SceneIndex); if (sceneInfo != null) { sceneInfo.Close(); } } subScenes.Clear(); if (loadSubScenes && playerData.openSubScenes != null && playerData.openSubScenes.Length > 0) { string[] subSceneArray = playerData.openSubScenes.Split(SaveSystem.pipe[0]); foreach (string chunk in subSceneArray) { string[] chunkData = chunk.Split(SaveSystem.colon[0]); int _index = chunkData.Length - 1; // For backwards-compat int _number = 0; if (_index >= 0 && int.TryParse(chunkData[_index], out _number)) { AddSubScene(_number); } } } }
protected IEnumerator CloseScene(int sceneIndex) { yield return(new WaitForEndOfFrame()); SceneInfo sceneInfo = GetSceneInfo(sceneIndex); if (sceneInfo != null) { sceneInfo.Close(true); } }