public static void SaveLevelData(GameLevel level) { GlobalSaveData globalSaveData = GameManager.instance.globalSaveData; //look for a matching data piece in the level list LevelSaveData data = globalSaveData.levelSaveData.Where(obj => obj.dataName == level.levelName).SingleOrDefault(); if (data != null) { //update global level save data again data.damageSustainedOnLevel = globalSaveData.damageSustainedOnLevel; data.earnedQuickTeacup = globalSaveData.currentLevelSaveData.earnedQuickTeacup; data.earnedSafeTeacup = globalSaveData.currentLevelSaveData.earnedSafeTeacup; data.timeLeftOnLevel = globalSaveData.timeLeftOnLevel; } else { //create a new one LevelSaveData newData = new LevelSaveData(); newData.dataName = level.levelName; newData.damageSustainedOnLevel = globalSaveData.damageSustainedOnLevel; newData.teacupsEarnedOnLevel = globalSaveData.currentLevelSaveData.teacupsEarnedOnLevel; newData.earnedQuickTeacup = globalSaveData.currentLevelSaveData.earnedQuickTeacup; newData.earnedSafeTeacup = globalSaveData.currentLevelSaveData.earnedSafeTeacup; newData.timeLeftOnLevel = globalSaveData.timeLeftOnLevel; globalSaveData.levelSaveData.Add(newData); } }
//retrieve data by finding the matching element in the level save data list public static LevelSaveData GetLevelData(GameLevel level) { GlobalSaveData globalSaveData = GameManager.instance.globalSaveData; List <LevelSaveData> levelSaveDataList = new List <LevelSaveData>(globalSaveData.levelSaveData); LevelSaveData data = levelSaveDataList.Where(obj => obj.dataName == level.levelName).SingleOrDefault(); return(data); }
public void LoadGlobalData() { this.GlobalData = GlobalSaveData.LoadFile(AIProject.Definitions.Path.GlobalSaveDataFile); if (this.GlobalData != null) { return; } this.GlobalData = new GlobalSaveData(); this.SaveGlobalData(); }
public static bool AddGlobalSave(GlobalSaveData item) { if (globalSaves.ContainsKey(item.GetType())) { return(false); } else { globalSaves.Add(item.GetType(), item); return(true); } }
public static bool ShouldShowPlantCard(IngredientData ingredientData) { GlobalSaveData data = GameManager.instance.globalSaveData; if (data.encounteredIngredients.Contains(ingredientData.plantName)) { return(false); } else { return(true); } }
//Check if upgrade has already been bought public static bool AlreadyPurchased(Upgrade upgradeToSave) { GlobalSaveData globalSaveData = GameManager.instance.globalSaveData; //look for a matching data piece in the level list ShopSaveData data = globalSaveData.shopSaveData.Where(obj => obj.dataName == upgradeToSave.upgradeName).SingleOrDefault(); if (data != null) { //update global level save data again return(true); } else { return(false); } }
public void GlobalSave(bool reloadTextFile = false) { Debug.Log($"Saving settings to {_globalSaveLocation}"); BinaryFormatter bf = new BinaryFormatter(); GlobalSaveData globalData = new GlobalSaveData(); using (FileStream file = File.Create(_globalSaveLocation)) { globalData.language = LanguageOption; bf.Serialize(file, globalData); } if (reloadTextFile == true && LocalisationManager.instance != null) { LocalisationManager.instance.LoadlocalisedText(); } }
public void ShowPlantTutorial(IngredientData ingredientData) { UpdatePlantTutorial(ingredientData); uiGroup.SetActive(true); tutorialVisible = true; //update global save data GlobalSaveData data = GameManager.instance.globalSaveData; if (!data.encounteredIngredients.Contains(ingredientData.plantName)) { data.encounteredIngredients.Add(ingredientData.plantName); } StartCoroutine(PauseTimeWithDelay(showCardClip.length)); GrayscaleEffect.Instance.FadeToAndFromGray(true); }
private void ChangeGameCleared() { if (!Singleton <Game> .IsInstance()) { return; } Game instance = Singleton <Game> .Instance; GlobalSaveData globalData = instance.GlobalData; WorldData worldData = instance.WorldData; if (globalData != null) { globalData.Cleared = true; } if (worldData != null) { worldData.Cleared = true; } instance.SaveGlobalData(); }
//Save the new data, based on the level save data approach public void SaveUpgradeData(Upgrade upgradeToSave) { Debug.Log("Attempting to save shop data"); GlobalSaveData globalSaveData = GameManager.instance.globalSaveData; //look for a matching data piece in the level list ShopSaveData data = globalSaveData.shopSaveData.Where(obj => obj.dataName == upgradeToSave.upgradeName).SingleOrDefault(); if (data != null) { //update global level save data again data.unlocked = true; } else { //create a new one using default constructor ShopSaveData newData = new ShopSaveData(); newData.dataName = upgradeToSave.upgradeName; newData.unlocked = true; globalSaveData.shopSaveData.Add(newData); } SaveManager.SaveGlobal(); }