Ejemplo n.º 1
0
        /// <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();
        }
Ejemplo n.º 2
0
 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;
 }
Ejemplo n.º 3
0
        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);
        }