public void ReturnCurrentLevelData(bool restoringSaveFile) { foreach (SingleLevelData levelData in allLevelData) { if (levelData.sceneNumber == Application.loadedLevel) { UnloadTransformData(levelData.allTransformData); foreach (ScriptData _scriptData in levelData.allScriptData) { Remember saveObject = Serializer.returnComponent <Remember> (_scriptData.objectID); if (saveObject != null && _scriptData.data != null && _scriptData.data.Length > 0) { // May have more than one Remember script on the same object, so check all Remember[] saveScripts = saveObject.gameObject.GetComponents <Remember>(); foreach (Remember saveScript in saveScripts) { saveScript.LoadData(_scriptData.data, restoringSaveFile); } } } UnloadVariablesData(levelData.localVariablesData); break; } } AssetLoader.UnloadAssets(); }
/** * <summary>Returns the currently-loaded scene's save data to the appriopriate Remember components.</summary> * <param name = "restoringSaveFile">True if the game is currently loading a saved game file, as opposed to just switching scene</param> */ public void ReturnCurrentLevelData(bool restoringSaveFile) { foreach (SingleLevelData levelData in allLevelData) { if (levelData.sceneNumber == UnityVersionHandler.GetCurrentSceneNumber()) { KickStarter.actionListManager.LoadData(levelData.activeLists); UnloadCutsceneOnLoad(levelData.onLoadCutscene); UnloadCutsceneOnStart(levelData.onStartCutscene); UnloadNavMesh(levelData.navMesh); UnloadPlayerStart(levelData.playerStart); UnloadSortingMap(levelData.sortingMap); UnloadTintMap(levelData.tintMap); UnloadTransformData(levelData.allTransformData); foreach (ScriptData _scriptData in levelData.allScriptData) { Remember saveObject = Serializer.returnComponent <Remember> (_scriptData.objectID); if (saveObject != null && _scriptData.data != null && _scriptData.data.Length > 0) { // May have more than one Remember script on the same object, so check all Remember[] saveScripts = saveObject.gameObject.GetComponents <Remember>(); foreach (Remember saveScript in saveScripts) { saveScript.LoadData(_scriptData.data, restoringSaveFile); } } } UnloadVariablesData(levelData.localVariablesData); KickStarter.sceneSettings.UpdateAllSortingMaps(); break; } } AssetLoader.UnloadAssets(); }