Exemple #1
0
        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();
            }
        }
Exemple #2
0
 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;
 }