Example #1
0
        public void Run()
        {
            string input = Console.ReadLine();

            while (input != "END")
            {
                string[] args    = input.Split(";", StringSplitOptions.RemoveEmptyEntries);
                string   command = args[0];
                switch (command)
                {
                case "Create":
                    IWeapon weapon = commandInterpreter.CreateCommand(args);
                    repository.AddWeapon(weapon);
                    break;

                case "Add":
                    IGem   gem         = commandInterpreter.CreateGem(args);
                    string weaponName  = args[1];
                    int    socketIndex = int.Parse(args[2]);
                    this.repository.AddGem(weaponName, socketIndex, gem);
                    break;

                case "Remove":
                    string targetName  = args[1];
                    int    removeIndex = int.Parse(args[2]);
                    this.repository.RemoveGem(targetName, removeIndex);
                    break;

                case "Print":
                    string name   = args[1];
                    string result = repository.Print(name);
                    Console.WriteLine(result);
                    break;
                }

                input = Console.ReadLine();
            }
        }
        public override void Execute()
        {
            Weapon weapon = this.weaponFactory.CreateWeapon(Data);

            weaponRepository.AddWeapon(weapon);
        }