示例#1
0
 private void JoinRoom(JoinChatroomResponse response)
 {
     if (response.isChatroomJoined)
     {
         Room room = new Room {
             name = response.chatroomName
         };
         if (!rooms.Contains(room))
         {
             rooms.Add(room);
         }
         selectedRoom = rooms.ElementAt(rooms.IndexOf(room));
     }
 }
示例#2
0
        public void Initialize(object o)
        {
            socket.On("messageSent", (data) =>
            {
                ChatMessageTemplate message = serializer.Deserialize <ChatMessageTemplate>((string)data);
                Application.Current?.Dispatcher?.Invoke(new Action(() => { NewMessage(message); }), DispatcherPriority.ContextIdle);
            });

            socket.On("getChatroomsResponse", (data) =>
            {
                RoomList roomlist = serializer.Deserialize <RoomList>((string)data);
                Application.Current?.Dispatcher?.Invoke(new Action(() => { GetChatrooms(roomlist); }), DispatcherPriority.ContextIdle);
            });

            socket.On("createChatroomResponse", (data) =>
            {
                CreateChatroomResponse response = serializer.Deserialize <CreateChatroomResponse>((string)data);
                Application.Current?.Dispatcher?.Invoke(new Action(() => { RoomCreation(response); }), DispatcherPriority.ContextIdle);
            });

            socket.On("joinChatroomResponse", (data) =>
            {
                JoinChatroomResponse response = serializer.Deserialize <JoinChatroomResponse>((string)data);
                try
                {
                    Application.Current?.Dispatcher?.Invoke(new Action(() => { RoomJoin(response); }), DispatcherPriority.ContextIdle);
                }
                catch { }

                RequestChatrooms();
            });

            socket.On("leaveChatroomResponse", (data) =>
            {
                RequestChatrooms();
            });

            socket.On("chatroomCreated", (data) =>
            {
                RequestChatrooms();
            });

            // Makes sure the chatroom "MainRoom" is joined
            JoinChatroom("MainRoom");
        }