Exemple #1
0
        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();
        }