public ViewModelChatRoom( BaseChatRoom chatRoom, Action callbackNeedTabSort, Action <ViewModelChatRoom> callbackPrivateChatRoomClosed) { this.ChatRoom = chatRoom; this.callbackNeedTabSort = callbackNeedTabSort; this.callbackPrivateChatRoomClosed = callbackPrivateChatRoomClosed; chatRoom.ClientMessageAdded += this.ChatRoomClientMessageAddedHandler; if (chatRoom is ChatRoomPrivate privateChat) { if (privateChat.ClientIsCurrentCharacterA()) { privateChat.ClientSubscribe( _ => _.IsClosedByCharacterA, _ => this.RefreshTabVisibility(), this); } else { privateChat.ClientSubscribe( _ => _.IsClosedByCharacterB, _ => this.RefreshTabVisibility(), this); } this.HasUnreadMessages = privateChat.ClientIsUnreadByCurrentCharacter(); } }
public ChatRoomTab( BaseChatRoom chatRoom, ChatRoomControl chatRoomControl, TabItem tabItem, ViewModelChatRoom viewModelChatRoom) { this.ChatRoom = chatRoom; this.ChatRoomControl = chatRoomControl; this.TabItem = tabItem; this.ViewModelChatRoom = viewModelChatRoom; }
private void ChatSystem_ClientChatRoomMessageReceived(BaseChatRoom chatRoom, in ChatEntry chatEntry)
public ViewModelChatRoom(BaseChatRoom chatRoom, Action callbackNeedTabSort) { this.ChatRoom = chatRoom; this.callbackNeedTabSort = callbackNeedTabSort; chatRoom.ClientMessageAdded += this.ChatRoomClientMessageAddedHandler; }