void LoadCharacters() { if (PlayerData.characters == null) { return; } foreach (CharacterSettings character in characters) { if (PlayerData.characters.ContainsKey(character.id)) { CharacterSavedData savedCharacter = PlayerData.characters[character.id]; character.isUnlocked = true; character.agility = (savedCharacter.agility > character.agility) ? savedCharacter.agility : character.agility; character.stamina = (savedCharacter.stamina > character.stamina) ? savedCharacter.stamina : character.stamina; character.breath = (savedCharacter.breath > character.breath) ? savedCharacter.breath : character.breath; } } }
// Save all current characters into PlayerData public void SaveCharacters() { Dictionary <CharacterId, CharacterSavedData> newData = new Dictionary <CharacterId, CharacterSavedData>(); foreach (CharacterSettings character in characters) { if (character.isUnlocked) { CharacterSavedData savedCharacter = new CharacterSavedData() { agility = character.agility, stamina = character.stamina, breath = character.breath }; newData.Add(character.id, savedCharacter); } } PlayerData.characters = newData; }