public override void Serialize(IDataWriter writer)
{
byte flag1 = 0;
flag1 = BooleanByteWrapper.SetFlag(flag1, 0, autoconnect);
flag1 = BooleanByteWrapper.SetFlag(flag1, 1, useCertificate);
flag1 = BooleanByteWrapper.SetFlag(flag1, 2, useLoginToken);
writer.WriteByte(flag1);
version.Serialize(writer);
writer.WriteUTF(lang);
writer.WriteUShort((ushort)credentials.Length);
foreach (var entry in credentials)
{
writer.WriteSByte(entry);
}
writer.WriteShort(serverId);
}
public override void Deserialize(IDataReader reader)
{
byte flag1 = reader.ReadByte();
autoconnect = BooleanByteWrapper.GetFlag(flag1, 0);
useCertificate = BooleanByteWrapper.GetFlag(flag1, 1);
useLoginToken = BooleanByteWrapper.GetFlag(flag1, 2);
version = new Types.VersionExtended();
version.Deserialize(reader);
lang = reader.ReadUTF();
var limit = reader.ReadUShort();
credentials = new sbyte[limit];
for (int i = 0; i < limit; i++)
{
credentials = reader.ReadSByte();
}
serverId = reader.ReadShort();
}