示例#1
0
 public ArmyFactory(ISquads squads,
                    IWeapons weapons,
                    IArmors armors,
                    IUsers users,
                    IArmyCostLimitService costLimit)
 {
     this.squads    = squads;
     this.weapons   = weapons;
     this.armors    = armors;
     this.users     = users;
     this.costLimit = costLimit;
 }
示例#2
0
        public static async Task <Armor> LoadAsync(IArmors repository, string name)
        {
            var data = await repository.GetByNameAsync(name);

            var armor = new Armor(data.Name);

            armor.cost    = new Cost(data.Cost);
            armor.defense = data.Defence
                            .Select(LoadDefence)
                            .ToList();
            armor.tags = data.Tags
                         .Select(tag => new Tag(tag))
                         .ToList();

            return(armor);
        }