private void HandleNewCommand(object sender, NewCommandEventArgs e) { IController controller = controllerPool.Get(e.Command); if (controller == null) { CustomConsole.WriteLineError("Unknown command"); } else { controller.Run(); } CustomConsole.WriteLine(); }
/// <summary> /// Method for evaluating commands. /// </summary> /// <param name="req">Command for Evaluation.</param> /// <param name="time">Current game time.</param> public void EvaluateNewCommand(object sender, NewCommandEventArgs args) { Queue <Command> EvaluationResults = new Queue <Command>(); EvaluationResults = _cmdEval.EvaluateCommand(args.Cmd, _rulebook, args.GamePlayer, args.Time); // Check if request was denied. if (EvaluationResults.Count == 1) { if (EvaluationResults.Peek().CmdType == Command.T_COMMAND.ERROR && RequestDenied != null) { RequestDenied.Invoke(this, new RequestDeniedEventArgs(0, new Player())); } } // Schedule evaluation results. else { _schedule.Schedule(EvaluationResults); } }