public SenderReceiverQueueAdapter(IMessageSenderReceiver adaptedSenderReceiver, Action <Exception> errorCallback = null) { _adaptedSenderReceiver = adaptedSenderReceiver; _errorCallback = errorCallback; _adaptedSenderReceiver.StartReceiving( message => _queue.Add(message), exception => _errorCallback?.Invoke(exception)); }
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); } }
public GameStarter(IMessageSenderReceiver communicator, GMConfiguration configuration) { _communicator = communicator; _configuration = configuration; }