public override void Read(ResourceDataReader reader, params object[] parameters) { base.Read(reader, parameters); ContentFlags = (NavMeshFlags)reader.ReadUInt32(); VersionUnk1 = reader.ReadUInt32(); Unused_018h = reader.ReadUInt32(); Unused_01Ch = reader.ReadUInt32(); Transform = reader.ReadMatrix(); AABBSize = reader.ReadVector3(); AABBUnk = reader.ReadSingle(); VerticesPointer = reader.ReadUInt64(); Unused_078h = reader.ReadUInt32(); Unused_07Ch = reader.ReadUInt32(); IndicesPointer = reader.ReadUInt64(); AdjPolysPointer = reader.ReadUInt64(); AdjPolysIndicesCount = reader.ReadUInt32(); AdjAreaIDs = reader.ReadStruct <NavMeshUintArray>(); PolysPointer = reader.ReadUInt64(); SectorTreePointer = reader.ReadUInt64(); PortalsPointer = reader.ReadUInt64(); PortalLinksPointer = reader.ReadUInt64(); VerticesCount = reader.ReadUInt32(); PolysCount = reader.ReadUInt32(); AreaID = reader.ReadUInt32(); TotalBytes = reader.ReadUInt32(); SectorUnkCount = reader.ReadUInt32(); PortalsCount = reader.ReadUInt32(); PortalLinksCount = reader.ReadUInt32(); Unused_154h = reader.ReadUInt32(); Unused_158h = reader.ReadUInt32(); Unused_15Ch = reader.ReadUInt32(); VersionUnk2 = reader.ReadUInt32(); Unused_164h = reader.ReadUInt32(); Unused_168h = reader.ReadUInt32(); Unused_16Ch = reader.ReadUInt32(); Vertices = reader.ReadBlockAt <NavMeshList <NavMeshVertex> >(VerticesPointer); Indices = reader.ReadBlockAt <NavMeshList <ushort> >(IndicesPointer); AdjPolys = reader.ReadBlockAt <NavMeshList <NavMeshAdjPoly> >(AdjPolysPointer); Polys = reader.ReadBlockAt <NavMeshList <NavMeshPoly> >(PolysPointer); SectorTree = reader.ReadBlockAt <NavMeshSector>(SectorTreePointer); Portals = reader.ReadStructsAt <NavMeshPortal>(PortalsPointer, PortalsCount); PortalLinks = reader.ReadUshortsAt(PortalLinksPointer, PortalLinksCount); }
public override void Read(ResourceDataReader reader, params object[] parameters) { base.Read(reader, parameters); ContentFlags = (NavMeshFlags)reader.ReadUInt32(); VersionUnk1 = reader.ReadUInt32(); Unused_018h = reader.ReadUInt32(); Unused_01Ch = reader.ReadUInt32(); Transform = reader.ReadMatrix(); AABBSize = reader.ReadVector3(); AABBUnk = reader.ReadUInt32(); VerticesPointer = reader.ReadUInt64(); Unused_078h = reader.ReadUInt32(); Unused_07Ch = reader.ReadUInt32(); IndicesPointer = reader.ReadUInt64(); EdgesPointer = reader.ReadUInt64(); EdgesIndicesCount = reader.ReadUInt32(); AdjAreaIDs = reader.ReadStruct <NavMeshUintArray>(); PolysPointer = reader.ReadUInt64(); SectorTreePointer = reader.ReadUInt64(); PortalsPointer = reader.ReadUInt64(); PortalLinksPointer = reader.ReadUInt64(); VerticesCount = reader.ReadUInt32(); PolysCount = reader.ReadUInt32(); AreaID = reader.ReadUInt32(); TotalBytes = reader.ReadUInt32(); PointsCount = reader.ReadUInt32(); PortalsCount = reader.ReadUInt32(); PortalLinksCount = reader.ReadUInt32(); Unused_154h = reader.ReadUInt32(); Unused_158h = reader.ReadUInt32(); Unused_15Ch = reader.ReadUInt32(); VersionUnk2 = reader.ReadUInt32(); Unused_164h = reader.ReadUInt32(); Unused_168h = reader.ReadUInt32(); Unused_16Ch = reader.ReadUInt32(); Vertices = reader.ReadBlockAt <NavMeshList <NavMeshVertex> >(VerticesPointer); Indices = reader.ReadBlockAt <NavMeshList <ushort> >(IndicesPointer); Edges = reader.ReadBlockAt <NavMeshList <NavMeshEdge> >(EdgesPointer); Polys = reader.ReadBlockAt <NavMeshList <NavMeshPoly> >(PolysPointer); SectorTree = reader.ReadBlockAt <NavMeshSector>(SectorTreePointer); Portals = reader.ReadStructsAt <NavMeshPortal>(PortalsPointer, PortalsCount); PortalLinks = reader.ReadUshortsAt(PortalLinksPointer, PortalLinksCount); ////testing! //if (VersionUnk1 != 0x00010011) //{ } //if (Unused_018h != 0) //{ } //if (Unused_01Ch != 0) //{ } //if (AABBUnk != 0x7F800001) //{ } //if (Unused_078h != 0) //{ } //if (Unused_07Ch != 0) //{ } //if (Unused_154h != 0) //{ } //if (Unused_158h != 0) //{ } //if (Unused_15Ch != 0) //{ } //if (Unused_164h != 0) //{ } //if (Unused_168h != 0) //{ } //if (Unused_16Ch != 0) //{ } //switch (VersionUnk2.Hash) //{ // case 0: //vehicle // break; // case 0x85CB3561: //grid // break; // default: // break; //} //UpdateCounts(); }