كود:
public void Deserialize(byte[] buffer)
{
Color = Color.FromArgb(BitConverter.ToInt32(buffer, 8));
ChatType = BitConverter.ToUInt32(buffer, 12);
MessageUID1 = BitConverter.ToUInt32(buffer, 16);
MessageUID2 = BitConverter.ToUInt32(buffer, 20);
Mesh = BitConverter.ToUInt32(buffer, 24);
_From = Encoding.Default.GetString(buffer, 35, buffer[34]);
_To = Encoding.Default.GetString(buffer, 36 + _From.Length, buffer[35 + _From.Length]);
__Message = Encoding.Default.GetString(buffer, (38 + _From.Length) + _To.Length, buffer[(37 + _From.Length) + _To.Length]);
}
public byte[] ToArray()
{
byte[] Packet = new byte[(((32 + _From.Length) + _To.Length) + __Message.Length) + 18];
Writer.WriteUInt16((ushort)(Packet.Length - 8), 0, Packet);
Writer.WriteUInt32((uint)Time32.timeGetTime().GetHashCode(), 4, Packet);
Writer.WriteUInt16(1004, 2, Packet);//dah sa7 // ScorpenProject
//Writer.WriteUInt16((ushort)MsgTypes.MsgTalk, 2, Packet);
Writer.WriteUInt32((uint)Color.ToArgb(), 8, Packet);
Writer.WriteUInt32(ChatType, 12, Packet);
Writer.WriteUInt32(MessageUID1, 16, Packet);
Writer.WriteUInt32(MessageUID2, 20, Packet);
Writer.WriteUInt32(Mesh, 24, Packet);
Writer.WriteStringList(new List<string>() { _From, _To, "", __Message }, 33, Packet);
return Packet;
}