public void LoadData(SaveManager.SaveData saveData) { GoldManager.OnLoad(saveData.goldData); MinionsManager.OnLoad(saveData.minionListSaveData); Ctx.EnemyCastle.Health = saveData.EnemyCastleHealth; Ctx.PlayerCastle.Health = saveData.PlayerCastleHealth; }
public void Save(System.Action callback = null) { SaveManager.SaveData sd = new SaveManager.SaveData( new SaveManager.GameData( gridManagement.grid, gridManagement.bridgesList, player.name, cityManager.cityName, cityManager.isTutorialRun, temporality.cycleNumber, temporality.GetCurrentCycleProgression(), populationManager.populations, cityManager.GetLockedBuildings(), populationManager.populationTypeList.ToList(), bulletinsManager.GetBulletins(), bulletinsManager.GetBulletin(), eventManager.eventsPool ) ); StartCoroutine(saveManager.WriteSaveData( sd, delegate { if (callback != null) { callback.Invoke(); } } )); }
public void ClearSaves() { ClearSaveObjects(); GameHandler.instance.SetupSaves(); for (int i = 0; i < GameHandler.instance.savesData.Length; i++) { SaveManager.SaveData save = GameHandler.instance.savesData[i]; SpawnDeleteSaveButton(save, i); } if (savedGameObjects.Count == 0) { NotificationManager.instance.ShowNotification("No saves available to delete!"); return; } // Swap to load game tabs InputField.gameObject.SetActive(false); InputField.onValueChanged.RemoveAllListeners(); inputRegion.SetActive(false); }
void InitializeUpgrades(SaveManager.SaveData saveData) { bool onFileCreation; if (saveData.upgradePurchasedAmount.Count == 0) { onFileCreation = true; } else { onFileCreation = false; } upgrades = new List <UpgradeModel>(); for (int i = 0; i < upgradeScriptableObjects.Count; i++) { upgrades.Add(Instantiate(upgradeButtonPrefab, upgradeButtonContainer).GetComponent <UpgradeModel>()); upgrades[i].Name = upgradeScriptableObjects[i]._name; upgrades[i].Cost = upgradeScriptableObjects[i].cost; upgrades[i].MoneyPerSecond = upgradeScriptableObjects[i].moneyPerSecond; if (!onFileCreation) { upgrades[i].Amount = saveData.upgradePurchasedAmount[i]; } } if (onUpgradeInitialization != null) { onUpgradeInitialization(upgradeScriptableObjects.Count); } }
private void SpawnOverriteSaveButton(SaveManager.SaveData data, int index) { Button button = Instantiate(CreateButton(data), savesViewContentHold); savedGameObjects.Add(button.gameObject); button.onClick.AddListener(() => { SaveManager.SaveData OldData = GameHandler.instance.GetGameData(index); if (OldData == null) { NotificationManager.instance.ShowNotification("Unable to override data!"); return; } input = OldData.userName; GameHandler.instance.ClearSavedData(index); GameHandler.instance.saveName = input; GameHandler.instance.SaveGame(); onSavedEvent?.Invoke(); }); }
void InitializeTexts(SaveManager.SaveData saveData) { money = saveData.money; moneyPerSecond = saveData.moneyPerSecond; moneyText.text = "$" + money; mPSText.text = "$" + moneyPerSecond.ToString("F1") + " p/second"; }
private void SpawnLoadButton(SaveManager.SaveData data, int index) { Button button = Instantiate(CreateButton(data), savesViewContentHold); savedGameObjects.Add(button.gameObject); button.onClick.AddListener(() => { GameHandler.instance.StartCoroutine(GameHandler.instance.LoadGame(index)); }); }
private void SpawnDeleteSaveButton(SaveManager.SaveData data, int index) { Button button = Instantiate(CreateButton(data), savesViewContentHold); savedGameObjects.Add(button.gameObject); button.onClick.AddListener(() => { GameHandler.instance.ClearSavedData(index); // Swap tab back to main }); }
public IEnumerator SaveGameAction() { // -----------------Save Player data--------------- ActivePlayerData = new SaveManager.SaveData(saveName, Money, TimeScale.minutes, TimeScale.hours, TimeScale.days); SaveManager.DeleteSavedGame(ActivePlayerData); SaveManager.SavePlayerData(ActivePlayerData); yield return(null); Debug.Log("Saving workers..."); // -----------------Save workers--------------- var savedWorkers = new SaveManager.SavableObject.Worker[workers.Count]; for (int i = 0; i < workers.Count; i++) { savedWorkers[i] = workers[i].workerData; } SaveManager.SaveWorkers(ActivePlayerData.userName, savedWorkers); yield return(null); Debug.Log("Saving objects..."); // -----------------Save Objects--------------- var objects = FindObjectsOfType <PlacedObject>(); var savedObjects = new List <SaveManager.SavableObject.WorldObject>() { }; for (int i = 0; i < objects.Length; i++) { if (objects[i].objectData.type == ObjectType.Abstract) { continue; } savedObjects.Add(objects[i].objectData); } SaveManager.SaveObjects(ActivePlayerData.userName, savedObjects.ToArray()); yield return(null); Debug.Log("Save complete."); NotificationManager.instance.ShowNotification("Game saved!"); }
public void SaveGame() { SaveData data = new SaveManager.SaveData { characterPositionX = Game.player.transform.position.x, characterPositionY = Game.player.transform.position.y, currentMap = Game.map.CurrentMap, skills = Game.player.skills }; string json = JsonUtility.ToJson(data); File.WriteAllText(SAVE_FILE_PATH, json); }
public void SaveGame() { ClearSaveObjects(); GameHandler.instance.SetupSaves(); for (int i = 0; i < GameHandler.instance.savesData.Length; i++) { SaveManager.SaveData save = GameHandler.instance.savesData[i]; SpawnOverriteSaveButton(save, i); } // Swap to saved game tabs InputField.gameObject.SetActive(true); InputField.onValueChanged.AddListener(TextChanged); inputRegion.SetActive(true); }
private Button CreateButton(SaveManager.SaveData save) { string name = save != null ? save.userName : "******"; string Money = save != null ? $"${save.money}" : ""; Button b = new GameObject($"{name}").AddComponent <Button>(); Text t = b.gameObject.AddComponent <Text>(); t.font = savesFont; t.supportRichText = true; t.text = $"<b>{name}</b>\n{Money}"; b.targetGraphic = t; t.alignment = TextAnchor.UpperLeft; return(b); }
public IEnumerator LoadGame(int index) { yield return(null); ActivePlayerData = savesData[index]; Money = ActivePlayerData.money; saveName = ActivePlayerData.userName; TimeScale.minutes = ActivePlayerData.minute; TimeScale.hours = ActivePlayerData.hour; TimeScale.days = ActivePlayerData.day; yield return(null); // Destroy existing workers var workersObjects = instance.workers.ToArray(); for (int i = workersObjects.Length - 1; i >= 0; i--) { Destroy(workersObjects[i].gameObject); } yield return(null); // -----------------Load workers--------------- SaveManager.SavableObject.Worker[] loadedWorkers; SaveManager.LoadWorkers(ActivePlayerData.userName, out loadedWorkers); if (loadedWorkers == null || loadedWorkers.Length == 0) { Debug.Log("No workers to load!"); } else { foreach (var data in loadedWorkers) { if (data == null) { continue; } Constructor.GetWorker(data); } } yield return(null); // -----------------Load objects--------------- foreach (var item in FindObjectsOfType <PlacedObject>()) { Destroy(item.gameObject); } SaveManager.SavableObject.WorldObject[] objects; SaveManager.LoadAllObjects(ActivePlayerData.userName, out objects); if (objects == null || objects.Length == 0) { Debug.Log("No objects to load!"); } else { foreach (var data in objects) { if (data == null) { continue; } MapLayoutManager.ReplaceTileInDictionary(data.position, Constructor.GetObject(data)); } } yield return(null); NotificationManager.instance.ShowNotification("Game Loaded!"); }
void InitializeValues(SaveManager.SaveData saveData) { money = saveData.money; moneyPerSecond = saveData.moneyPerSecond; }