Example #1
0
        /// <summary>
        /// Gets list of all saved charcters.
        /// </summary>
        public async Task <List <CharacterModel> > GetSaves()
        {
            var characters = await _gameDataAccess.GetAllCharacters();

            List <CharacterModel> saves = new List <CharacterModel>();

            foreach (var character in characters)
            {
                var save = new CharacterModel
                {
                    Name    = character.Name,
                    Level   = character.Level,
                    Damage  = character.Damage,
                    Defence = character.Defence,
                    Hp      = character.HP,
                    MaxHp   = character.MaxHP
                };
                //gets whole objects for characters' equipement
                if (character.ArmourID != null)
                {
                    save.EquippedArmour = await Get(new ArmourModel { Id = character.ArmourID });
                }
                if (character.WeaponID != null)
                {
                    save.EquippedWeapon = await Get(new WeaponModel { Id = character.WeaponID });
                }
                if (character.PotionID != null)
                {
                    save.EquippedPotion = await Get(new PotionModel { Id = character.PotionID });
                }
                saves.Add(save);
            }

            return(saves);
        }