Example #1
0
 public SenderReceiverQueueAdapter(IMessageSenderReceiver adaptedSenderReceiver, Action <Exception> errorCallback = null)
 {
     _adaptedSenderReceiver = adaptedSenderReceiver;
     _errorCallback         = errorCallback;
     _adaptedSenderReceiver.StartReceiving(
         message => _queue.Add(message),
         exception => _errorCallback?.Invoke(exception));
 }
Example #2
0
        public void GameEndHandler(Map map, IMessageSenderReceiver communicator)
        {
            string winner  = map.Winner == Team.Red ? "red" : "blue";
            var    message = new Message <GameEnded>()
            {
                MessagePayload = new GameEnded()
                {
                    Winner = winner
                }
            };

            foreach (Player p in map.Players.Values)
            {
                Log.Debug("Processing GameEnded message to agent: {id}", p.AgentId);
                message.AgentId = p.AgentId;
                communicator.Send(message);
            }
        }
Example #3
0
 public GameStarter(IMessageSenderReceiver communicator, GMConfiguration configuration)
 {
     _communicator  = communicator;
     _configuration = configuration;
 }