Exemple #1
0
        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);
        }
Exemple #2
0
        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);
                    }
                }
            }
        }