Пример #1
0
        public override void ExecuteCommand()
        {
            var     weaponName = data[1];
            IWeapon weapon     = weaponRepository.GetWeapon(weaponName);
            int     socket     = int.Parse(data[2]);
            IGem    gem        = gemFactory.CreateGem(data);

            weapon.AddGem(gem, socket);
        }
    private static Gem CreateGem(string gemInfo, IGemFactory gemFactory)
    {
        var gemTokens = gemInfo.Split();

        var clarity = Enum.Parse <Clarity>(gemTokens[0]);
        var gemType = gemTokens[1];

        var gem = (Gem)gemFactory.CreateGem(gemType, clarity);

        return(gem);
    }
Пример #3
0
        public override void Execute()
        {
            string weaponName = Data[1];
            int    gemSlot    = int.Parse(Data[2]);

            string[] gemInfo    = Data[3].Split();
            string   gemQuality = gemInfo[0];
            string   gemType    = gemInfo[1];

            IGem gem = gemFactory.CreateGem(gemType, gemQuality);

            inventory.AddGemToSocket(weaponName, gemSlot, gem);
        }
Пример #4
0
    public void Execute(string[] commandParameters, IDictionary <string, IWeapon> weapons, IWeaponFactory weaponFactory, IInputOutputManager inputOutputManager, IGemFactory gemFactory)
    {
        string targetAxeName = commandParameters[0];
        int    socketIndex   = int.Parse(commandParameters[1]);

        string[] tokens  = commandParameters[2].Split(' ');
        string   clarity = tokens[0];
        string   type    = tokens[1];
        IGem     gem     = gemFactory.CreateGem(type, clarity);

        IWeapon targetAxe = weapons[targetAxeName];

        targetAxe.AddGem(gem, socketIndex);
    }