internal void CloseChat()
 {
     SaveToChatHistory();
     Console.WriteLine("STATUS: Closing active chat");
     UserMessages.Clear();
     RemoteMessages.Clear();
 }
Beispiel #2
0
//--------------------------------------------------------------------------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);
     }
 }
Beispiel #5
0
    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;
    }
Beispiel #6
0
//---------------------------------------------------------------------CONSTRUCTORS:

    public PacketWriter()
    {
        packet  = new MemoryStream();
        writer  = new BinaryWriter(packet);
        message = RemoteMessages.Invalid;
    }
 private void CloseHistoryMode()
 {
     HistoryMode = false;
     UserMessages.Clear();
     RemoteMessages.Clear();
 }