コード例 #1
0
        private static ICommandResult CommandExecutor(string[] args, LoadFunctionDelegate load, Func <string, ICommandResult> goWithRole)
        {
            var loadResult = load(args);

            if (!loadResult.OK)
            {
                return(loadResult);
            }

            return(goWithRole((loadResult as CommandResultWithText).Text));
        }
コード例 #2
0
        public ICommandResult ProcessCommand(string[] args, LoadFunctionDelegate loadText, LoadFunctionDelegate loadWords)
        {
            if (args.Length < 1)
            {
                return(new CommandResult(false, "No command was passed"));
            }

            if (!_userCommands.TryGetValue(args[0], out GoAsDelegate goWithRole))
            {
                return(new CommandResult(false, "Unknown command"));
            }

            return(goWithRole(args, loadText, loadWords));
        }