public ChatBubble(String username, String messageBody, String time, String groupID, bool userMessage, int fontSize) { InitializeComponent(); this.DataContext = this; this.username = username + " says ➣"; this.messageBody = messageBody; this.timeAndGroup = "Time: " + time + " ● Group: " + groupID + " ●"; this.userMessage = userMessage; this.fontSize = fontSize; this.chatBubbleSize = fontSize * 35; this._instance = (ChatRoomWindow)Parent; }
internal static void ChatResponse(PacketReader reader) { var action = reader.ReadByte(); string recep = ""; int chatid = 0; switch (action) { //action 0 is no client found request case 0: recep = reader.ReadCommonString(); System.Windows.Forms.MessageBox.Show($"User {recep} Could not be found!"); break; //send request chat case 1: chatid = reader.ReadInt(); recep = reader.ReadCommonString(); DialogResult result = MessageBox.Show($"User {recep} wants to open a chat with you\r\nPress yes to open, no to decline", "Chat Request", MessageBoxButtons.YesNo); if (result == DialogResult.Yes) { //send request Accept Client.Instance.SendPacket(PacketCreator.AnswerRequestChat(true, chatid, recep)); //Open ChatRome App.Current.Dispatcher.Invoke(() => { var chatRoom = new ChatRoomWindow(chatid); Client.Instance.ChatRooms.Add(chatRoom); chatRoom.Show(); }); } else if (result == DialogResult.No) { //send request Decline Client.Instance.SendPacket(PacketCreator.AnswerRequestChat(false, chatid, recep)); } break; case 2: bool ans = reader.ReadBool(); if (!ans) { // ChatRome false recep = reader.ReadCommonString(); MessageBox.Show($"User {recep} has decilne you request for chat"); } else { chatid = reader.ReadInt(); App.Current.Dispatcher.Invoke(() => { var chatRoom = new ChatRoomWindow(chatid); Client.Instance.ChatRooms.Add(chatRoom); chatRoom.Show(); }); } break; } }