Esempio n. 1
0
 /// <summary>
 /// Create gem
 /// </summary>
 /// <param name="x">X gem position</param>
 /// <param name="y">Y gem position</param>
 private void CreateGem(int x, int y)
 {
     Gems[x, y] = GemFactory.Create(CreateGemRectangle(x, y));
     Gems[x, y].ChangeGemState += OnChangeGemState;
     Gems[x, y].XPosition       = x;
     Gems[x, y].YPosition       = y;
     GemOnMove++;
 }
Esempio n. 2
0
        private void AddNewGem(IGemFactory gemFactory, IRepository repo)
        {
            string nameOfWeapon = this.Data[1];
            int    index        = int.Parse(this.Data[2]);
            string claryty      = this.Data[3].Split().First();
            string gemType      = this.Data[3].Split().Last();
            IGem   gemToAdd     = gemFactory.Create(gemType, claryty);
            var    weapon       = repo.GetWeapon(nameOfWeapon);

            weapon.AddGem(index, gemToAdd);
        }
Esempio n. 3
0
        public override void Execute()
        {
            var weaponName  = this.Data[1];
            int socketIndex = int.Parse(this.Data[2]);
            var gemData     = this.Data[3].Split();

            var weapon = this.repository.Weapons.FirstOrDefault(x => x.Name == weaponName);
            var gem    = gemFactory.Create(gemData);

            this.repository.AddGemToWeapon(weapon, socketIndex, gem);
        }
Esempio n. 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;
            }
        }