예제 #1
0
            internal override void vmethod_0(Class741.Class742 serializer)
            {
                Class889 stream = serializer.Stream;

                this.list_0.Clear();
                foreach (Class48 schema in serializer.DataStore.Schemas)
                {
                    this.list_0.Add(schema.Name);
                }
                stream.vmethod_11((uint)this.list_1.Count);
                stream.vmethod_11(0U);
                foreach (Class49.Class53.Class62 class62 in this.list_1)
                {
                    class62.Write(stream);
                }
                stream.vmethod_13(717068L);
                stream.vmethod_11((uint)this.list_2.Count);
                stream.vmethod_11(0U);
                foreach (Class49.Class53.Class63 class63 in this.list_2)
                {
                    class63.Write(stream);
                }
                uint num = Class49.smethod_0((uint)((ulong)stream.Position - this.ulong_0), 16);

                for (int index = 0; (long)index < (long)num; ++index)
                {
                    stream.vmethod_1((byte)115);
                }
                this.SystemDataOffset = (ulong)stream.Position;
                stream.vmethod_11((uint)this.list_0.Count);
                foreach (string str in this.list_0)
                {
                    stream.vmethod_20(str);
                }
            }
예제 #2
0
            internal override void vmethod_0(Class741.Class742 serializer)
            {
                Class889 stream = serializer.Stream;

                stream.vmethod_11((uint)this.list_0.Count);
                foreach (Class46 class46 in this.list_0)
                {
                    class46.Write(stream);
                }
            }
예제 #3
0
            internal override void vmethod_0(Class741.Class742 serializer)
            {
                base.vmethod_0(serializer);
                Class889 stream = serializer.Stream;

                foreach (Class49.Class51.Class57 class57 in this.list_0)
                {
                    class57.Write(stream);
                }
            }
예제 #4
0
            internal override void vmethod_0(Class741.Class742 serializer)
            {
                Class889 stream = serializer.Stream;

                stream.vmethod_15(this.ulong_1);
                stream.vmethod_15(this.ulong_2);
                stream.vmethod_9(this.int_2);
                stream.vmethod_9(this.int_3);
                stream.vmethod_15(this.ulong_3);
                StreamUtil.Forward(this.class882_0.Stream, this.class882_0.Offset, stream.Stream, this.class882_0.Length);
            }
예제 #5
0
            internal override void vmethod_0(Class741.Class742 serializer)
            {
                Class889 stream = serializer.Stream;

                stream.vmethod_9(this.list_0.Count);
                stream.vmethod_9(0);
                foreach (Class49.Class54.Class64 class64 in this.list_0)
                {
                    class64.Write(stream);
                }
            }
예제 #6
0
            internal override void Read(Class741.Class742 serializer)
            {
                base.Read(serializer);
                Class889 stream = serializer.Stream;

                this.ulong_1    = stream.vmethod_14();
                this.ulong_2    = stream.vmethod_14();
                this.int_2      = stream.vmethod_8();
                this.int_3      = stream.vmethod_8();
                this.ulong_3    = stream.vmethod_14();
                this.class882_0 = new Class882((Stream) new PagedMemoryStream(stream.Stream, (long)(int)this.ulong_3), 0, (int)this.ulong_3);
            }
예제 #7
0
            internal override void Read(Class741.Class742 serializer)
            {
                base.Read(serializer);
                Class889 stream = serializer.Stream;
                uint     num    = stream.vmethod_10();

                for (int index = 0; (long)index < (long)num; ++index)
                {
                    Class46 class46 = new Class46();
                    class46.Read(stream);
                    this.list_0.Add(class46);
                }
            }
예제 #8
0
            internal override void Read(Class741.Class742 serializer)
            {
                base.Read(serializer);
                Class889 stream = serializer.Stream;

                this.list_0.Capacity = serializer.FileHeader.SegmentIndexEntryCount;
                for (int index = 0; index < serializer.FileHeader.SegmentIndexEntryCount; ++index)
                {
                    Class49.Class51.Class57 class57 = new Class49.Class51.Class57();
                    class57.Read(stream);
                    this.list_0.Add(class57);
                }
            }
예제 #9
0
            internal override void Read(Class741.Class742 serializer)
            {
                base.Read(serializer);
                Class889 stream = serializer.Stream;
                int      num    = stream.vmethod_8();

                stream.vmethod_8();
                this.list_0.Capacity = num;
                for (int index = 0; index < num; ++index)
                {
                    Class49.Class54.Class64 class64 = new Class49.Class54.Class64();
                    class64.Read(stream);
                    this.list_0.Add(class64);
                }
            }
예제 #10
0
        internal void Read(Class741.Class742 serializer)
        {
            Class889 stream = serializer.Stream;

            this.ushort_0 = stream.vmethod_6();
            this.byte_0   = stream.vmethod_3(6);
            this.uint_0   = stream.vmethod_10();
            this.int_1    = stream.vmethod_8();
            this.uint_1   = stream.vmethod_10();
            this.int_2    = stream.vmethod_8();
            this.int_3    = stream.vmethod_8();
            this.int_4    = stream.vmethod_8();
            this.int_5    = stream.vmethod_8();
            this.int_6    = stream.vmethod_8();
            stream.vmethod_3(8);
        }
예제 #11
0
            internal override void Read(Class741.Class742 serializer)
            {
                base.Read(serializer);
                Class889 stream   = serializer.Stream;
                long     position = stream.Position;

                foreach (Class49.Class53.Class63 propertyEntry in serializer.SchemaIndex.PropertyEntries)
                {
                    if ((int)propertyEntry.SegmentIndex == (int)this.class681_0.SegmentIndex)
                    {
                        Class558 class558 = new Class558();
                        class558.Read(stream);
                        this.list_1.Add(class558);
                    }
                }
                uint num1 = 0;

                foreach (Class49.Class53.Class62 schemaEntry in serializer.SchemaIndex.SchemaEntries)
                {
                    if ((int)schemaEntry.SegmentIndex == (int)this.class681_0.SegmentIndex)
                    {
                        stream.Position = position + (long)schemaEntry.LocalOffset;
                        Class48 class48 = new Class48();
                        class48.Index = num1;
                        class48.Name  = serializer.SchemaIndex.SchemaNames[(int)schemaEntry.Index];
                        class48.Read(stream);
                        this.list_0.Add(class48);
                    }
                    ++num1;
                }
                stream.Position = (long)this.SystemDataOffset;
                uint          num2       = stream.vmethod_10();
                List <string> stringList = new List <string>((int)num2);

                for (int index = 0; (long)index < (long)num2; ++index)
                {
                    stringList.Add(stream.vmethod_18());
                }
                for (int index = 0; index < this.list_0.Count; ++index)
                {
                    foreach (Class986 property in this.list_0[index].Properties)
                    {
                        property.Name      = stringList[(int)property.NameIndex];
                        property.NameIndex = uint.MaxValue;
                    }
                }
            }
예제 #12
0
                public Stream imethod_0(Class741.Class742 serializer)
                {
                    PagedMemoryStream pagedMemoryStream = new PagedMemoryStream((long)(int)this.ulong_0);
                    int num = 0;

                    foreach (Class49.Class52.Class58.Class59 class59 in this.list_0)
                    {
                        serializer.Stream.Position = serializer.DataStoreStreamStartPosition + (long)serializer.SegmentIndex.Entries[(int)class59.SegmentIndex].Offset;
                        Class49.Class56 class56 = new Class49.Class56();
                        class56.Read(serializer);
                        if ((long)class56.BinaryData.Length != (long)class59.Size)
                        {
                            throw new Exception("Blob binary data size does not match expected size.");
                        }
                        StreamUtil.Forward(class56.BinaryData.Stream, class56.BinaryData.Offset, (Stream)pagedMemoryStream, class56.BinaryData.Length);
                        num += (int)class59.Size;
                    }
                    pagedMemoryStream.Position = 0L;
                    return((Stream)pagedMemoryStream);
                }
예제 #13
0
            internal override void Read(Class741.Class742 serializer)
            {
                base.Read(serializer);
                Class889 stream = serializer.Stream;
                uint     num1   = stream.vmethod_10();
                int      num2   = (int)stream.vmethod_10();

                this.list_1.Capacity = (int)num1;
                for (int index = 0; (long)index < (long)num1; ++index)
                {
                    Class49.Class53.Class62 class62 = new Class49.Class53.Class62();
                    class62.Read(stream);
                    this.list_1.Add(class62);
                    if (!this.hashSet_0.Contains(class62.SegmentIndex))
                    {
                        this.hashSet_0.Add(class62.SegmentIndex);
                    }
                }
                stream.vmethod_12();
                uint num3 = stream.vmethod_10();
                int  num4 = (int)stream.vmethod_10();

                this.list_2.Capacity = (int)num3;
                for (int index = 0; (long)index < (long)num3; ++index)
                {
                    Class49.Class53.Class63 class63 = new Class49.Class53.Class63();
                    class63.Read(stream);
                    this.list_2.Add(class63);
                    if (!this.hashSet_0.Contains(class63.SegmentIndex))
                    {
                        this.hashSet_0.Add(class63.SegmentIndex);
                    }
                }
                stream.Position = (long)this.SystemDataOffset;
                uint num5 = stream.vmethod_10();

                for (int index = 0; (long)index < (long)num5; ++index)
                {
                    this.list_0.Add(stream.vmethod_18());
                }
            }
예제 #14
0
        internal void Write(Class741.Class742 serializer)
        {
            Class889 stream = serializer.Stream;

            this.ulong_0 = (ulong)stream.Stream.Position;
            this.class681_0.Write(serializer);
            this.vmethod_0(serializer);
            uint n   = (uint)((ulong)stream.Stream.Position - this.ulong_0);
            uint num = Class49.smethod_0(n, 128);

            this.class681_0.SegmentSize = n + num;
            for (int index = 0; (long)index < (long)num; ++index)
            {
                stream.vmethod_1((byte)112);
            }
            long position = stream.Stream.Position;

            stream.Position = (long)this.ulong_0;
            this.class681_0.Write(serializer);
            stream.Position = position;
        }
예제 #15
0
            internal override void vmethod_0(Class741.Class742 serializer)
            {
                Class889 stream    = serializer.Stream;
                long     position1 = stream.Position;
                int      num1      = (this.list_0.Count * 20 + 16) / 16;

                for (int index1 = 0; index1 < num1; ++index1)
                {
                    for (int index2 = 0; index2 < 16; ++index2)
                    {
                        stream.vmethod_1((byte)98);
                    }
                }
                this.DataOffset = (ulong)stream.Position;
                for (int index = 0; index < this.list_0.Count; ++index)
                {
                    uint num2 = (uint)((ulong)stream.Position - this.DataOffset);
                    Class49.Class52.Class60 class60 = this.list_0[index];
                    if (class60.ReferencedObject == null)
                    {
                        throw new Exception("Entry's ReferencedObject property is null.");
                    }
                    class60.ReferencedObject.Write(stream);
                    class60.LocalOffset = num2;
                }
                long position2 = stream.Position;

                stream.Position = position1;
                for (int index = 0; index < this.list_0.Count; ++index)
                {
                    serializer.DataIndex.Entries.Add(new Class49.Class54.Class64()
                    {
                        SegmentIndex = this.class681_0.SegmentIndex,
                        LocalOffset  = (uint)(stream.Position - position1)
                    });
                    this.list_0[index].Write(stream);
                }
                stream.Position = position2;
            }
예제 #16
0
        internal void Write(Class741.Class742 serializer)
        {
            Class889 stream = serializer.Stream;

            stream.vmethod_7(this.ushort_0);
            if (this.byte_0 == null || this.byte_0.Length != 6)
            {
                throw new Exception("Name must be 6 bytes long.");
            }
            stream.vmethod_2(this.byte_0, 0, this.byte_0.Length);
            stream.vmethod_11(this.uint_0);
            stream.vmethod_9(this.int_1);
            stream.vmethod_11(this.uint_1);
            stream.vmethod_9(this.int_2);
            stream.vmethod_9(this.int_3);
            stream.vmethod_9(this.int_4);
            stream.vmethod_9(this.int_5);
            stream.vmethod_9(this.int_6);
            for (int index = 0; index < 8; ++index)
            {
                stream.vmethod_1((byte)85);
            }
        }
예제 #17
0
            internal override void Read(Class741.Class742 serializer)
            {
                base.Read(serializer);
                Class889 stream   = serializer.Stream;
                long     position = stream.Position;
                List <Class49.Class54.Class64> toDataIndexEntry = serializer.SegmentIndexToDataIndexEntries[this.class681_0.SegmentIndex];
                int count = toDataIndexEntry.Count;

                this.list_0.Capacity = count;
                for (int index = 0; index < count; ++index)
                {
                    stream.Position = position + (long)toDataIndexEntry[index].LocalOffset;
                    Class49.Class52.Class60 class60 = new Class49.Class52.Class60();
                    if (class60.Read(stream))
                    {
                        this.list_0.Add(class60);
                    }
                }
                if (this.list_0.Count <= 0)
                {
                    return;
                }
                long dataOffset = (long)this.DataOffset;
                int  num        = this.list_0.Count - 1;
                int  index1;

                for (index1 = 0; index1 < num; ++index1)
                {
                    stream.Position = dataOffset + (long)this.list_0[index1].LocalOffset;
                    uint maxRawSize = this.list_0[index1 + 1].LocalOffset - this.list_0[index1].LocalOffset;
                    this.method_1(stream, index1, maxRawSize);
                }
                stream.Position = dataOffset + (long)this.list_0[index1].LocalOffset;
                uint maxRawSize1 = (uint)((ulong)-(long)this.class681_0.ObjectDataLocalOffset + (ulong)this.class681_0.SegmentSize - (ulong)this.list_0[index1].LocalOffset);

                this.method_1(stream, index1, maxRawSize1);
            }
예제 #18
0
파일: Class1068.cs 프로젝트: 15831944/WW
 public Stream imethod_0(Class741.Class742 serializer)
 {
     return(this.stream_0);
 }
예제 #19
0
 internal virtual void Read(Class741.Class742 serializer)
 {
     this.ulong_0 = (ulong)serializer.Stream.Position;
     this.class681_0.Read(serializer);
 }
예제 #20
0
 internal virtual void vmethod_0(Class741.Class742 serializer)
 {
 }
예제 #21
0
            internal override void vmethod_0(Class741.Class742 serializer)
            {
                Class889 stream   = serializer.Stream;
                long     position = stream.Position;
                uint     num1     = serializer.SchemaIndex.PropertyEntries.Count == 0 ? 1U : serializer.SchemaIndex.PropertyEntries[serializer.SchemaIndex.PropertyEntries.Count - 1].Index + 1U;

                foreach (Class558 class558 in this.list_1)
                {
                    uint num2 = (uint)(stream.Position - position);
                    serializer.SchemaIndex.PropertyEntries.Add(new Class49.Class53.Class63()
                    {
                        Index        = num1,
                        SegmentIndex = this.class681_0.SegmentIndex,
                        LocalOffset  = num2
                    });
                    class558.Write(stream);
                    ++num1;
                }
                List <string>             stringList = new List <string>();
                Dictionary <string, uint> dictionary = new Dictionary <string, uint>();

                foreach (Class48 class48 in this.list_0)
                {
                    foreach (Class986 property in class48.Properties)
                    {
                        uint count;
                        if (!dictionary.TryGetValue(property.Name, out count))
                        {
                            count = (uint)stringList.Count;
                            stringList.Add(property.Name);
                            dictionary.Add(property.Name, count);
                        }
                        property.NameIndex = count;
                    }
                }
                if (serializer.SchemaIndex.SchemaEntries.Count != 0)
                {
                    throw new Exception("SchemaIndex.SchemaEntries is expected to have 0 elements.");
                }
                uint num3 = 0;

                foreach (Class48 class48 in this.list_0)
                {
                    uint num2 = (uint)(stream.Position - position);
                    serializer.SchemaIndex.SchemaEntries.Add(new Class49.Class53.Class62()
                    {
                        Index        = num3,
                        SegmentIndex = this.class681_0.SegmentIndex,
                        LocalOffset  = num2
                    });
                    class48.Write(stream);
                    ++num3;
                }
                uint num4 = Class49.smethod_0((uint)(stream.Position - position), 16);

                for (int index = 0; (long)index < (long)num4; ++index)
                {
                    stream.vmethod_1((byte)115);
                }
                this.SystemDataOffset = (ulong)stream.Position;
                stream.vmethod_11((uint)stringList.Count);
                foreach (string str in stringList)
                {
                    stream.vmethod_20(str);
                }
            }