public void SaveGame() { foreach (Component module in _gameModules.Values) { (module as IEngineModule).CleanupBeforeSave(); } BaseSceneObject[] sds = GameObject.FindObjectsOfType <BaseSceneObject>(); foreach (BaseSceneObject sd in sds) { sd.SaveGame(TheGameState); } foreach (Component module in _gameModules.Values) { (module as IEngineModule).OnSave(TheGameState); } ActiveObjectsManager.Instance.SaveGame(TheGameState); if (EJRConsts.Instance["usePlayerController"] == "true") { ThePlayerController.SaveGame(TheGameState); } SettingsManager.Instance.SaveGame(TheGameState); TheGameState.SaveGame(); }
private void Update() { if (_worldLoadingBioms) { if (!EndlessWorldModuleManager.Instance.IsLoading && !MapObjectsManager.Instance.IsLoading) { _worldLoadingBioms = false; ThePlayerController.LocateOnTerrain(); // position player on the ground just now, after the first biom has been loaded } } }
private Dictionary <string, Component> _gameModules; //loaded game Modules public void LoadGame() { if (IsModuleLoaded("EndlessWorld")) { EndlessWorldModuleManager.Instance.TheMapManager.LoadMap(false); //not depending from game state loading, but it's a part of loading process } TheGameState.LoadGame(); ActiveObjectsManager.Instance.LoadGame(TheGameState); //AOM przed WM SettingsManager.Instance.LoadGame(TheGameState); foreach (Component module in _gameModules.Values) { (module as IEngineModule).OnLoad(TheGameState); } if (EJRConsts.Instance["usePlayerController"] == "true") { ThePlayerController.LoadGame(TheGameState); } if (IsModuleLoaded("FPPGame")) { FPPGame.UI.FPPUIManager.Instance.AfterGameLoad(); } _worldLoadingBioms = IsModuleLoaded("EndlessMap") ? true : false; foreach (ABInfo abInfo in EJRConsts.Instance.AssetBundlesToLoad) { foreach (string objName in abInfo.ObjectsToLoad) { GetComponent <PrefabPool>().GetPrefab(objName, false); } } IsGameLoaded = true; }