internal void CloseChat() { SaveToChatHistory(); Console.WriteLine("STATUS: Closing active chat"); UserMessages.Clear(); RemoteMessages.Clear(); }
//--------------------------------------------------------------------------METHODS: public void BeginMessage(RemoteMessages message) { SDebug.Assert(message == RemoteMessages.Invalid); this.message = message; packet.Position = 0; packet.SetLength(0); }
public void LoadChatFromHistory(ChatData chatData) { if (HistoryMode) { UserMessages.Clear(); RemoteMessages.Clear(); } Console.WriteLine("STATUS: Loading chat from history"); HistoryMode = true; UserMessages = HistoryConverter.HistoryToChat(chatData.UserMessages); RaisePropertyChanged("UserMessages"); RemoteMessages = HistoryConverter.HistoryToChat(chatData.RemoteMessages); RaisePropertyChanged("RemoteMessages"); }
public void AddMessage(ChatMessage visibleMessage, ChatMessage hiddenMessage, bool remote = false) { if (remote) { Console.WriteLine($"STATUS: Adding a remote text message"); RemoteMessages.Add(visibleMessage); UserMessages.Add(hiddenMessage); } else { Console.WriteLine($"STATUS: Adding a user text message"); UserMessages.Add(visibleMessage); RemoteMessages.Add(hiddenMessage); } }
public void EndMessage(Stream stream) { SDebug.Assert(message != RemoteMessages.Invalid); // Write message header (one byte for type of message, four bytes for size) stream.WriteByte((byte)message); uint len = (uint)packet.Length; stream.WriteByte((byte)(len & 0xFF)); stream.WriteByte((byte)((len >> 8) & 0xFF)); stream.WriteByte((byte)((len >> 16) & 0xFF)); stream.WriteByte((byte)((len >> 24) & 0xFF)); // Write the message packet.Position = 0; IOUtility.CopyToStream(packet, stream, buffer, (int)packet.Length); message = RemoteMessages.Invalid; }
//---------------------------------------------------------------------CONSTRUCTORS: public PacketWriter() { packet = new MemoryStream(); writer = new BinaryWriter(packet); message = RemoteMessages.Invalid; }
private void CloseHistoryMode() { HistoryMode = false; UserMessages.Clear(); RemoteMessages.Clear(); }