public async Task SendMessageAsync(ChatMessage message) { var player = await _signInService.GetSignedInPlayerAsync(message.FromPlayerId); message.FromPlayerName = player.Name; await _eventBus.PublishAsync(ChatMessageSentEvent.FromMessage(message)); }
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); }
protected async Task OnChatMessageSentEventAsync(ChatMessageSentEvent evt) => await OnEventAsync(evt);