Exemple #1
0
        public HeroBattle BuildHero(string heroName, bool isPresent, string thumbnail)
        {
            var @class = ClassService.GetClassFrom(heroName);
            var level  = LevelService.GetLevelFrom(heroName).value;
            var status = StatusService.GetStatusFrom(heroName);

            var hp = @class.hpByLevel * level;

            var inventory = ItemService.GetInventoryFrom(heroName);

            var skills = (SkillService
                          .GetSkillsFrom(heroName) ?? throw new CannotLoadSkillsException(heroName))
                         .ToList()
                         .ConvertAll(sk => SkillService.GetSkillByName(sk.skill)).ToArray();

            return(hp <= 0 ? null : new HeroBattle
            {
                Name = heroName,
                Class = @class,
                Thumbnail = thumbnail,
                Level = level,
                IsPresent = isPresent,
                Skills = skills,
                Inventory = inventory,
                TotalHp = hp,
                CurrentHp = status.currentHp,
                Xp = status.xp
            });
        }