public ICommand CreatePlayerCommand(string commandName) { ICommand resultCommand; if (this.commands.ContainsKey(commandName)) { return this.commands[commandName]; } var commandNameLowerCase = commandName.ToLower(); switch (commandNameLowerCase) { case "kdl": resultCommand = new KingDownLeftCommand(); break; case "kdr": resultCommand = new KingDownRightCommand(); break; case "kul": resultCommand = new KingUpLeftCommand(); break; case "kur": resultCommand = new KingUpRightCommand(); break; case "adl": resultCommand = new PawnADownLeftCommand(); break; case "adr": resultCommand = new PawnADownRightCommand(); break; case "bdl": resultCommand = new PawnBDownLeftCommand(); break; case "bdr": resultCommand = new PawnBDownRightCommand(); break; case "cdl": resultCommand = new PawnCDownLeftCommand(); break; case "cdr": resultCommand = new PawnCDownRightCommand(); break; case "ddl": resultCommand = new PawnDDownLeftCommand(); break; case "ddr": resultCommand = new PawnDDownRightCommand(); break; case "undo": resultCommand = new UndoCommand(); break; default: throw new ArgumentException("Incorrect command " + commandName); } this.commands.Add(commandName, resultCommand); return resultCommand; }
/// <summary> /// Method for creting player command depend on the command name /// </summary> /// <param name="commandName">Name od the command</param> /// <returns></returns> public ICommand CreatePlayerCommand(string commandName) { ICommand resultCommand; if (this.commands.ContainsKey(commandName)) { return this.commands[commandName]; } var commandNameLowerCase = commandName.ToLower(); switch (commandNameLowerCase) { case Constants.KingDownLeftCommand: resultCommand = new KingDownLeftCommand(); break; case Constants.KingDownRightCommand: resultCommand = new KingDownRightCommand(); break; case Constants.KingUpLeftCommand: resultCommand = new KingUpLeftCommand(); break; case Constants.KingUpRightCommand: resultCommand = new KingUpRightCommand(); break; case Constants.AdlCommand: resultCommand = new PawnADownLeftCommand(); break; case Constants.AdrCommand: resultCommand = new PawnADownRightCommand(); break; case Constants.BdlCommand: resultCommand = new PawnBDownLeftCommand(); break; case Constants.BdrCommand: resultCommand = new PawnBDownRightCommand(); break; case Constants.CdlCommand: resultCommand = new PawnCDownLeftCommand(); break; case Constants.CdrCommand: resultCommand = new PawnCDownRightCommand(); break; case Constants.DdlCommand: resultCommand = new PawnDDownLeftCommand(); break; case Constants.DdrCommand: resultCommand = new PawnDDownRightCommand(); break; case Constants.UndoCommand: resultCommand = new UndoCommand(); break; default: throw new InvalidCommandException("Invalid command " + commandName); } this.commands.Add(commandName, resultCommand); return resultCommand; }