private void HandleExitRoomMessage(ExitRoomMessage message) { var room = rooms[message.RoomId]; room.RoomParticipants.Remove(message.ClientId); var roomParticipantsMessage = GetRoomParticipantsMessage(message.RoomId); foreach (var clientHandler in clients) { if (IsRoomParticipantClient(message.RoomId, clientHandler.id)) { SendMessageToClient(roomParticipantsMessage, clientHandler); } } if (room.RoomParticipants.Count == 0) { rooms.Remove(room); } }
public void HandleReceivedMessage(Messages message) { if (message is InviteRoomMessage) { InviteRoomMessage inviteRoomMessage = (InviteRoomMessage)message; HandleInviteRoomMessage(inviteRoomMessage); } if (message is ExitRoomMessage) { ExitRoomMessage exitRoomMessage = (ExitRoomMessage)message; HandleExitRoomMessage(exitRoomMessage); } if (message is ClientUdpRequestMessages) { ClientUdpRequestMessages clientUdpRequestMessage = (ClientUdpRequestMessages)message; HandleClientUdpRequestMessage(clientUdpRequestMessage); } if (message is CreateRoomRequestMessage) { CreateRoomRequestMessage createRoomRequestMessage = (CreateRoomRequestMessage)message; HandleCreateRommRequestMessage(createRoomRequestMessage); } if (message is RoomMessage) { RoomMessage roomMessage = (RoomMessage)message; HandleRoomMessage(roomMessage); } else if (message is IndividualChatMessages) { IndividualChatMessages individualChatMessage = (IndividualChatMessages)message; HandleIndividualChatMessage(individualChatMessage); } else if (message is CommonChatMessages) { CommonChatMessages commonChatMessage = (CommonChatMessages)message; WriteLine("\"" + GetName(commonChatMessage.SenderId) + "\": " + commonChatMessage.Content); HandleCommonChatMessage(commonChatMessage); } }