Пример #1
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;
                    }
                }
            }
Пример #2
0
            public void Read(out Class741 dataStore, DxfReader r)
            {
                dataStore       = new Class741(false);
                this.class741_0 = dataStore;
                while (r.CurrentGroup != Class824.struct18_1 && r.CurrentGroup != Struct18.struct18_0)
                {
                    if (r.CurrentGroup.Code == 0)
                    {
                        switch ((string)r.CurrentGroup.Value)
                        {
                        case "ACDSSCHEMA":
                            Class48 class48 = new Class48();
                            class48.Read(r);
                            dataStore.Schemas.Add(class48);
                            continue;

                        case "ACDSRECORD":
                            Class1027 class1027 = new Class1027();
                            class1027.Read(r);
                            if (class1027.Columns.Count == 2 && class1027.Columns[0].Name == "AcDbDs::ID" && class1027.Columns[1].Name == "ASM_Data")
                            {
                                Class496 column1 = class1027.Columns[0];
                                Class496 column2 = class1027.Columns[1];
                                ulong    handle  = (ulong)column1.Data.Value;
                                Stream   data    = (Stream)column2.Data.Value;
                                dataStore.Add(Enum53.const_2, handle, data);
                                continue;
                            }
                            continue;

                        default:
                            r.method_85();
                            continue;
                        }
                    }
                    else
                    {
                        r.method_85();
                    }
                }
            }