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)); } }
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"); }