/// <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++; }
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); }
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); }
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; } }