Пример #1
0
        private void SpawnFirstLevelFighter(string userId)
        {
            var shortSword   = _weaponFactory.Create("Short Sword");
            var fighterStats = new Statistics()
            {
                AbilityScores = new AbilityScores(16, 14, 16, 9, 9, 8),
                AttackScores  = new AttackScores(shortSword, 1),
                DefenseScores = new DefenseScores(14, 11)
            };

            var jools = new Player(id: userId, "Jools", "Human", "Fighter", level: 1, fighterStats)
            {
                Inventory = new Inventory
                {
                    Items = new List <Item>
                    {
                        shortSword,
                        new Item {
                            Name = "Studded Leather", Id = Guid.NewGuid().ToString()
                        }
                    }
                }
            };

            SpawnInRandomOpenCell(jools);
            _creatureRegistry.Register(jools);
        }
Пример #2
0
        private static void TestWeaponFactory(IWeaponFactory factory)
        {
            IWeapon meeleWeapon  = factory.Create(WeaponType.Melee);
            IWeapon rangedWeapon = factory.Create(WeaponType.Ranged);
            IWeapon magicWeapon  = factory.Create(WeaponType.Magic);

            Console.WriteLine($"Meele Weapon: {meeleWeapon}");
            Console.WriteLine($"Ranged Weapon: {rangedWeapon}");
            Console.WriteLine($"Magic Weapon: {magicWeapon}");
        }
Пример #3
0
        private void AddCreatedWeaponToRepo(IWeaponFactory weaponFactory, IRepository repo)
        {
            string  rarity      = this.Data[1].Split().First();
            string  weaponType  = this.Data[1].Split().Last();
            string  name        = this.Data[2];
            IWeapon weaponToAdd = weaponFactory.Create(weaponType, rarity, name);

            repo.AddWeapon(weaponToAdd);
        }
Пример #4
0
        private void InterpretCommand(string[] data)
        {
            switch (data[0])
            {
            case "Create":
                string[] args       = data[1].Split();
                string   rarity     = args[0];
                string   weaponType = args[1];
                string   weaponName = data[2];
                var      weapon     = weaponFactory.Create(weaponType, weaponName, rarity);
                if (weapon != null)
                {
                    repo.AddWeapon(weapon, weaponName);
                }
                break;

            case "Add":
                string[] gemArgs      = data[3].Split();
                string   gemType      = gemArgs[1];
                string   clarity      = gemArgs[0];
                var      gem          = gemFactory.Create(gemType, clarity);
                string   nameOfWeapon = data[1];
                int      index        = int.Parse(data[2]);
                if (gem != null)
                {
                    repo.AddGem(nameOfWeapon, index, gem);
                }
                break;

            case "Remove":
                string weapon_Name = data[1];
                int    gemIndex    = int.Parse(data[2]);
                repo.RemoveGem(weapon_Name, gemIndex);
                break;

            case "Print":
                string name = data[1];
                Console.WriteLine(repo.Print(name));
                break;

            case "END":
                Environment.Exit(0);
                break;
            }
        }
Пример #5
0
    public void Construct(IWeaponFactory weaponFactory,
                          GameUIViewFactory gameUiViewFactory,
                          BlockContainer blockContainer,
                          ILevelLoaderService levelLoaderService)
    {
        this.levelLoaderService = levelLoaderService;
        this.blockContainer     = blockContainer;

        ui = gameUiViewFactory.Create();

        weaponFactory.Load();

        weapon = weaponFactory.Create();

        Subscribe();

        ConfigureAttacksCount();

        SetupUI();
    }
Пример #6
0
        public override void Execute()
        {
            var newWeapon = weaponFactory.Create(this.Data);

            repository.AddWeapon(newWeapon);
        }
Пример #7
0
 public IWeapon GenerateWeapon()
 {
     return(_weaponFactory.Create());
 }