Example #1
0
        public void Link(Package package, uint ownOffset, uint childOffset, uint childSize)
        {
            package.FileOffset = ownOffset + ObjectIndex.GetSizeFor(package) + 2;
            if (package.Header.Flags & PackageFlags.BuiltinOuterIndexFields)
            {
                package.FileOffset += ObjectIndex.GetSizeFor(package);
            }

            package.WriteUInt32(childSize);
            package.WriteUInt32(childOffset);
        }
Example #2
0
 public void Deserialize(Package package)
 {
     Index     = ObjectIndex.Deserialize(package);
     TypeIndex = package.ReadUInt16();
     if (package.Header.Flags & PackageFlags.BuiltinOuterIndexFields)
     {
         OuterIndex = ObjectIndex.Deserialize(package);
     }
     SizeInFile   = package.ReadUInt32();
     OffsetInFile = package.ReadUInt32();
     LinkedObject = package.GetTypedObjectAt(OffsetInFile, TypeIndex);
 }
Example #3
0
 public ObjectTableEntry GetObject(ObjectIndex index) => _elements[(int)index.value];