public static void TryToSaveCurrentLevel(LevelData level) { if (HasFileCreated()) { PlayerPersistenceData playerData = LoadPlayerData(); if (playerData != null) { if (playerData.levelsPlayed == null) { playerData.levelsPlayed = new List <LevelData>(); } if (!playerData.levelsPlayed.Contains(level)) { playerData.levelsPlayed.Add(level); } else { playerData.levelsPlayed[playerData.levelsPlayed.IndexOf(level)] = level; } SavePlayerData(playerData); } } }
public static PlayerPersistenceData SavePlayerData(PlayerPersistenceData playerPersistenceData, bool saveLanguage = false) { PlayerPersistenceData playerDataToSave; if (playerPersistenceData == null) { //Only when when playing for the 1st time playerDataToSave = new PlayerPersistenceData(); } else { playerDataToSave = playerPersistenceData; } if (playerDataToSave.playerOptionsConfig == null) { playerDataToSave.playerOptionsConfig = new PlayerOptionsConfig(); } if (saveLanguage) { playerDataToSave.playerOptionsConfig.language = LocalisationSystem.language; } BinaryFormatter binaryFormatter = new BinaryFormatter(); FileStream file = File.Create(FILE_PATH); binaryFormatter.Serialize(file, playerDataToSave); file.Close(); return(playerDataToSave); }
public static void SetGodMode(bool isGodMode) { if (HasFileCreated()) { PlayerPersistenceData playerData = LoadPlayerData(); SavePlayerData(playerData); } }
public static void SavePlayerConfigs(PlayerOptionsConfig playerConfigs) { if (HasFileCreated()) { PlayerPersistenceData playerData = LoadPlayerData(); playerData.playerOptionsConfig = playerConfigs; SavePlayerData(playerData, true); } }
public static void SavePlayerLanguage() { PlayerPersistenceData playerData = LoadPlayerData(); if (playerData.playerOptionsConfig == null) { playerData.playerOptionsConfig = new PlayerOptionsConfig(); } playerData.playerOptionsConfig.language = LocalisationSystem.language; SavePlayerData(playerData, true); }
public static PlayerOptionsConfig GetPlayerOptionsConfig() { if (HasFileCreated()) { PlayerPersistenceData playerData = LoadPlayerData(); if (playerData != null) { return(playerData.playerOptionsConfig); } } return(null); }
public static int GetIndexOfLastLevelPlayed() { if (HasFileCreated()) { PlayerPersistenceData playerData = LoadPlayerData(); if (playerData.levelsPlayed != null && playerData.levelsPlayed.Count > 0) { return(playerData.levelsPlayed[playerData.levelsPlayed.Count - 1].buildIndex); } } return(1); }
public void SetDefaultPlayerConfigs() { MusicManager.instance.SetNewMusicVolume(MusicManager.instance.maxVolume); SoundManager.instance.CurrentVolume = SoundManager.instance.maxVolume; PlayerPersistenceData playerData = PlayerPersistence.LoadPlayerData(); PlayerOptionsConfig playerOptions = playerData.playerOptionsConfig; playerOptions.musicVolume = MusicManager.instance.CurrentVolume; playerOptions.sfxVolume = SoundManager.instance.CurrentVolume; playerData.playerOptionsConfig = playerOptions; PlayerPersistence.SavePlayerData(playerData); }
public static PlayerPersistenceData LoadPlayerData() { try { BinaryFormatter binaryFormatter = new BinaryFormatter(); FileStream file = File.Open(FILE_PATH, FileMode.Open); PlayerPersistenceData playerPersistenceData = null; playerPersistenceData = binaryFormatter.Deserialize(file) as PlayerPersistenceData; file.Close(); return(playerPersistenceData); } catch { return(SavePlayerData(null, true)); } }
public static Language GetPlayerLanguage() { if (HasFileCreated()) { PlayerPersistenceData playerData = LoadPlayerData(); if (playerData.playerOptionsConfig != null) { foreach (Language languageType in EnumUtil.GetValues <Language>()) { if (languageType == playerData.playerOptionsConfig.language) { return(languageType); } } } } return(Language.Null); }
public static LevelData GetLevelPersisted(int levelBuildIndex) { if (HasFileCreated()) { PlayerPersistenceData playerData = LoadPlayerData(); if (playerData != null) { if (playerData.levelsPlayed != null) { LevelData level = new LevelData(levelBuildIndex); if (playerData.levelsPlayed.Contains(level)) { return(playerData.levelsPlayed[playerData.levelsPlayed.IndexOf(level)]); } } } } return(null); }
void Start() { levelNameTxt.text = buildIndex < 10 ? "0" + buildIndex : buildIndex.ToString(); PlayerPersistenceData playerData = PlayerPersistence.LoadPlayerData(); if (playerData != null) { LevelData levelFound = PlayerPersistence.GetLevelPersisted(buildIndex); if (levelFound != null) { int stars = levelFound.stars; image.sprite = cookieBite; SetStars(stars); MakeInteractable(true); } else { if (playerData.levelsPlayed != null) { if (buildIndex == playerData.levelsPlayed.Count + 1) { MakeInteractable(true); } } else { if (buildIndex == 1) { MakeInteractable(true); } } } } }