/// <summary> /// Initializes game model /// </summary> /// <param name="weaponGenerator">Generator of weapon</param> /// <param name="createdSwordsDirectory">Directory for created swords saving</param> public GameModel(IWeaponGenerator weaponGenerator, string createdSwordsDirectory) { this.weaponGenerator = weaponGenerator; this.createdSwordsDirectory = createdSwordsDirectory; Inventory = new Inventory(); }
public EquipmentGenerator(ICollectionsSelector collectionsSelector, IWeaponGenerator weaponGenerator, ITreasureGenerator treasureGenerator, IArmorGenerator armorGenerator, Generator generator) { this.collectionsSelector = collectionsSelector; this.armorGenerator = armorGenerator; this.weaponGenerator = weaponGenerator; this.treasureGenerator = treasureGenerator; this.generator = generator; }
public void Setup() { mockPercentileSelector = new Mock<IPercentileSelector>(); mockMundaneWeaponGenerator = new Mock<MundaneItemGenerator>(); mockMagicalWeaponGenerator = new Mock<MagicalItemGenerator>(); mockCollectionsSelector = new Mock<ICollectionsSelector>(); generator = new ConfigurableIterationGenerator(3); weaponGenerator = new WeaponGenerator(mockCollectionsSelector.Object, mockPercentileSelector.Object, mockMundaneWeaponGenerator.Object, mockMagicalWeaponGenerator.Object, generator); magicalWeapon = new Item(); feats = new List<Feat>(); characterClass = new CharacterClass(); proficiencyFeats = new List<string>(); baseWeaponTypes = new List<string>(); weapons = new List<string>(); allProficientWeapons = new List<string>(); race = new Race(); meleeWeapons = new List<string>(); twoHandedWeapons = new List<string>(); ammunitions = new List<string>(); npcs = new List<string>(); race.Size = "size"; race.BaseRace = "base race"; magicalWeapon = CreateWeapon("magical weapon"); magicalWeapon.IsMagical = true; magicalWeapon.Attributes = new[] { AttributeConstants.Melee }; characterClass.Name = "class name"; characterClass.Level = 9266; baseWeaponTypes.Add("base weapon"); weapons.Remove(magicalWeapon.Name); weapons.Add(baseWeaponTypes[0]); weapons.Add("different weapon"); meleeWeapons.Remove(magicalWeapon.Name); meleeWeapons.Add(baseWeaponTypes[0]); meleeWeapons.Add("different melee weapon"); feats.Add(new Feat { Name = "all proficiency", Foci = new[] { FeatConstants.Foci.All } }); proficiencyFeats.Add(feats[0].Name); allProficientWeapons.Remove(magicalWeapon.Name); allProficientWeapons.Add(baseWeaponTypes[0]); mockPercentileSelector.Setup(s => s.SelectFrom("Level9266Power")).Returns("power"); mockMagicalWeaponGenerator.Setup(g => g.GenerateAtPower("power")).Returns(magicalWeapon); mockCollectionsSelector.Setup(s => s.SelectFrom(TableNameConstants.Set.Collection.ItemGroups, It.IsAny<string>())) .Returns((string table, string name) => new[] { name }); mockCollectionsSelector.Setup(s => s.SelectFrom(TableNameConstants.Set.Collection.FeatGroups, ItemTypeConstants.Weapon + GroupConstants.Proficiency)) .Returns(proficiencyFeats); mockCollectionsSelector.Setup(s => s.SelectFrom(TableNameConstants.Set.Collection.ItemGroups, magicalWeapon.Name)) .Returns(baseWeaponTypes); mockCollectionsSelector.Setup(s => s.SelectFrom(TableNameConstants.Set.Collection.ItemGroups, baseWeaponTypes[0])) .Returns(baseWeaponTypes); mockCollectionsSelector.Setup(s => s.SelectFrom(TableNameConstants.Set.Collection.ItemGroups, FeatConstants.Foci.Weapons)) .Returns(weapons); mockCollectionsSelector.Setup(s => s.SelectFrom(TableNameConstants.Set.Collection.ItemGroups, AttributeConstants.Melee)) .Returns(meleeWeapons); mockCollectionsSelector.Setup(s => s.SelectFrom(TableNameConstants.Set.Collection.ItemGroups, AttributeConstants.TwoHanded)) .Returns(twoHandedWeapons); mockCollectionsSelector.Setup(s => s.SelectFrom(TableNameConstants.Set.Collection.ItemGroups, AttributeConstants.Ammunition)) .Returns(ammunitions); mockCollectionsSelector.Setup(s => s.SelectFrom(TableNameConstants.Set.Collection.FeatFoci, feats[0].Name)) .Returns(allProficientWeapons); mockCollectionsSelector.Setup(s => s.SelectFrom(TableNameConstants.Set.Collection.ClassNameGroups, GroupConstants.NPCs)) .Returns(npcs); }