Example #1
0
        public async Task SendMessageAsync(ChatMessage message)
        {
            var player = await _signInService.GetSignedInPlayerAsync(message.FromPlayerId);

            message.FromPlayerName = player.Name;
            await _eventBus.PublishAsync(ChatMessageSentEvent.FromMessage(message));
        }
Example #2
0
 private void UnsubscribeAll()
 {
     _eventBus.Unsubscribe <ChatMessageSentEvent>(ChatMessageSentEvent.GetId(), OnChatMessageSentEventAsync);
     _eventBus.Unsubscribe <GameStateChangedEvent>(GameStateChangedEvent.GetId(), OnGameStateChangedEventAsync);
     _eventBus.Unsubscribe <PlayerAddedToVesselRoleEvent>(PlayerAddedToVesselRoleEvent.GetId(), OnPlayerAddedToVesselRoleEventAsync);
     _eventBus.Unsubscribe <PlayerJoinedGameEvent>(PlayerJoinedGameEvent.GetId(), OnPlayerJoinedGameEventAsync);
     _eventBus.Unsubscribe <PlayerLeftGameEvent>(PlayerLeftGameEvent.GetId(), OnPlayerLeftGameEventAsync);
     _eventBus.Unsubscribe <PlayerRemovedFromVesselRoleEvent>(PlayerRemovedFromVesselRoleEvent.GetId(), OnPlayerRemovedFromVesselRoleEventAsync);
     _eventBus.Unsubscribe <PlayerSignedInEvent>(PlayerSignedInEvent.GetId(), OnPlayerSignedInEventAsync);
     _eventBus.Unsubscribe <PlayerSignedOutEvent>(PlayerSignedOutEvent.GetId(), OnPlayerSignedOutEventAsync);
     _eventBus.Unsubscribe <VesselMovedInDirectionEvent>(VesselMovedInDirectionEvent.GetId(), OnVesselMovedInDirectionEventAsync);
     _eventBus.Unsubscribe <VesselStateChangedEvent>(VesselStateChangedEvent.GetId(), OnVesselStateChangedEventAsync);
 }
        public void Add(ChatMessageSentEvent chatMessageSentEvent)
        {
            if (chatMessageSentEvent.Contents != null)
            {
                _db.Entry(chatMessageSentEvent.Contents).State = EntityState.Unchanged;

                if (chatMessageSentEvent.Contents.Sender != null)
                {
                    _db.Entry(chatMessageSentEvent.Contents.Sender).State = EntityState.Unchanged;
                }
            }

            _db.ChatMessageSentEvents.Add(chatMessageSentEvent);

            _db.SaveChanges();
        }
 public async Task QueueMessage(ChatMessageSentEvent message)
 {
     await _endpoint.Publish(message)
     .ConfigureAwait(false);
 }
Example #5
0
 protected async Task OnChatMessageSentEventAsync(ChatMessageSentEvent evt) =>
 await OnEventAsync(evt);