public override void Serialize(BigEndianWriter writer) { byte flag = new byte(); BooleanByteWrapper.SetFlag(0, flag, m_autoconnect); BooleanByteWrapper.SetFlag(1, flag, m_useCertificate); BooleanByteWrapper.SetFlag(2, flag, m_useLoginToken); writer.WriteByte(flag); m_version.Serialize(writer); writer.WriteUTF(m_lang); writer.WriteShort(((short)(m_credentials.Count))); int credentialsIndex; for (credentialsIndex = 0; (credentialsIndex < m_credentials.Count); credentialsIndex = (credentialsIndex + 1)) { writer.WriteByte(m_credentials[credentialsIndex]); } writer.WriteShort(m_serverId); writer.WriteVarLong(m_sessionOptionalSalt); writer.WriteShort(((short)(m_failedAttempts.Count))); int failedAttemptsIndex; for (failedAttemptsIndex = 0; (failedAttemptsIndex < m_failedAttempts.Count); failedAttemptsIndex = (failedAttemptsIndex + 1)) { writer.WriteVarUhShort(m_failedAttempts[failedAttemptsIndex]); } }