public uint GetSerializedSize() { uint num = 0u; if (this.HasPeerId) { num += 1u; uint serializedSize = this.PeerId.GetSerializedSize(); num += serializedSize + ProtocolParser.SizeOfUInt32(serializedSize); } if (this.HasGameAccountId) { num += 1u; uint serializedSize2 = this.GameAccountId.GetSerializedSize(); num += serializedSize2 + ProtocolParser.SizeOfUInt32(serializedSize2); } if (this.Challenges.get_Count() > 0) { using (List <Challenge> .Enumerator enumerator = this.Challenges.GetEnumerator()) { while (enumerator.MoveNext()) { Challenge current = enumerator.get_Current(); num += 1u; uint serializedSize3 = current.GetSerializedSize(); num += serializedSize3 + ProtocolParser.SizeOfUInt32(serializedSize3); } } } num += 4u; if (this.HasTimeout) { num += 1u; num += ProtocolParser.SizeOfUInt64(this.Timeout); } if (this.Attributes.get_Count() > 0) { using (List <Attribute> .Enumerator enumerator2 = this.Attributes.GetEnumerator()) { while (enumerator2.MoveNext()) { Attribute current2 = enumerator2.get_Current(); num += 1u; uint serializedSize4 = current2.GetSerializedSize(); num += serializedSize4 + ProtocolParser.SizeOfUInt32(serializedSize4); } } } num += 1u; return(num); }
public static void Serialize(Stream stream, SendChallengeToUserRequest instance) { BinaryWriter binaryWriter = new BinaryWriter(stream); if (instance.HasPeerId) { stream.WriteByte(10); ProtocolParser.WriteUInt32(stream, instance.PeerId.GetSerializedSize()); ProcessId.Serialize(stream, instance.PeerId); } if (instance.HasGameAccountId) { stream.WriteByte(18); ProtocolParser.WriteUInt32(stream, instance.GameAccountId.GetSerializedSize()); EntityId.Serialize(stream, instance.GameAccountId); } if (instance.Challenges.get_Count() > 0) { using (List <Challenge> .Enumerator enumerator = instance.Challenges.GetEnumerator()) { while (enumerator.MoveNext()) { Challenge current = enumerator.get_Current(); stream.WriteByte(26); ProtocolParser.WriteUInt32(stream, current.GetSerializedSize()); Challenge.Serialize(stream, current); } } } stream.WriteByte(37); binaryWriter.Write(instance.Context); if (instance.HasTimeout) { stream.WriteByte(40); ProtocolParser.WriteUInt64(stream, instance.Timeout); } if (instance.Attributes.get_Count() > 0) { using (List <Attribute> .Enumerator enumerator2 = instance.Attributes.GetEnumerator()) { while (enumerator2.MoveNext()) { Attribute current2 = enumerator2.get_Current(); stream.WriteByte(50); ProtocolParser.WriteUInt32(stream, current2.GetSerializedSize()); Attribute.Serialize(stream, current2); } } } }