コード例 #1
0
        public bool Execute(string[] commandParams, WeaponsController weaponsController)
        {
            var commandName = commandParams[0];

            switch (commandName)
            {
            case "Create":
            {
                weaponsController.CreateWeapon(commandParams.Skip(1).ToArray());
                return(false);
            }

            case "Add":
            {
                var gemParams   = commandParams[3];
                var socketIndex = int.Parse(commandParams[2]);
                var weaponName  = commandParams[1];
                weaponsController.AddGem(gemParams, socketIndex, weaponName);
                return(false);
            }

            case "Remove":
            {
                var weaponName  = commandParams[1];
                var socketIndex = int.Parse(commandParams[2]);
                weaponsController.RemoveGem(socketIndex, weaponName);
                return(false);
            }

            case "Print":
            {
                var weaponName = commandParams[1];
                weaponsController.PrintWeapon(weaponName);
                return(false);
            }

            case "END":
            {
                weaponsController.Print();
                return(true);
            }

            default:
                throw new ArgumentException("Invalid Command Name!");
            }
        }