예제 #1
0
파일: Node.cs 프로젝트: rt-2/CodeWalker
        public override void Read(ResourceDataReader reader, params object[] parameters)
        {
            base.Read(reader, parameters);

            this.NodesPointer                = reader.ReadUInt64();
            this.NodesCount                  = reader.ReadUInt32();
            this.NodesCountVehicle           = reader.ReadUInt32();
            this.NodesCountPed               = reader.ReadUInt32();
            this.Unk24                       = reader.ReadUInt32();
            this.LinksPtr                    = reader.ReadUInt64();
            this.LinksCount                  = reader.ReadUInt32();
            this.Unk34                       = reader.ReadUInt32();
            this.JunctionsPtr                = reader.ReadUInt64();
            this.JunctionHeightmapBytesPtr   = reader.ReadUInt64();
            this.Unk48                       = reader.ReadUInt32();
            this.Unk4C                       = reader.ReadUInt32();
            this.JunctionRefsPtr             = reader.ReadUInt64();
            this.JunctionRefsCount0          = reader.ReadUInt16();
            this.JunctionRefsCount1          = reader.ReadUInt16();
            this.Unk5C                       = reader.ReadUInt32();
            this.JunctionsCount              = reader.ReadUInt32();
            this.JunctionHeightmapBytesCount = reader.ReadUInt32();
            this.Unk68                       = reader.ReadUInt32();
            this.Unk6C                       = reader.ReadUInt32();

            this.Nodes     = reader.ReadStructsAt <Node>(this.NodesPointer, this.NodesCount);
            this.Links     = reader.ReadStructsAt <NodeLink>(this.LinksPtr, this.LinksCount);
            this.Junctions = reader.ReadStructsAt <NodeJunction>(this.JunctionsPtr, this.JunctionsCount);
            this.JunctionHeightmapBytes = reader.ReadBytesAt(this.JunctionHeightmapBytesPtr, this.JunctionHeightmapBytesCount);
            this.JunctionRefs           = reader.ReadStructsAt <NodeJunctionRef>(this.JunctionRefsPtr, this.JunctionRefsCount1);
        }
예제 #2
0
        /// <summary>
        /// Reads the data-block from a stream.
        /// </summary>
        public override void Read(ResourceDataReader reader, params object[] parameters)
        {
            // read structure data
            this.StructureNameHash = (MetaName)reader.ReadInt32();
            this.DataLength        = reader.ReadInt32();
            this.DataPointer       = reader.ReadInt64();


            this.Data = reader.ReadBytesAt((ulong)this.DataPointer, (uint)DataLength);
        }