コード例 #1
0
        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);
                }
            }
        }
コード例 #2
0
 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);
     }
 }