private void HandleInviteRoomMessage(InviteRoomMessage message) { var room = rooms[message.RoomId]; var roomParticipants = room.RoomParticipants; foreach (var newParticipant in message.RoomParticipantsIndecies) { roomParticipants.Add(newParticipant); } var roomId = rooms.IndexOf(room); var roomName = room.RoomName; var createRoomResponseMessage = GetCreateRoomResponseMessage(roomId, roomName); foreach (var clientHandler in clients) { if (IsRoomParticipantClient(roomId, clientHandler.id) && message.RoomParticipantsIndecies.Contains(clientHandler.id)) { SendMessageToClient(createRoomResponseMessage, clientHandler); } } var roomParticipantsMessage = GetRoomParticipantsMessage(message.RoomId); foreach (var clientHandler in clients) { if (IsRoomParticipantClient(message.RoomId, clientHandler.id)) { SendMessageToClient(roomParticipantsMessage, clientHandler); } } }
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); } }