Exemple #1
0
        /// <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);
            }
        }
Exemple #2
0
 internal void HandleRequestDenied(object sender, RequestEventArgs args)
 {
     WrappedEventHandler(() => RequestDenied?.Invoke(sender, args), "RequestDenied", sender);
 }
Exemple #3
0
        public async Task DenyRequest(int id)
        {
            var denied = new RequestDenied(id);

            await _getStore().WriteEvent(denied, Streams.UtoRequests);
        }