public override void Write(PackFileSerializer s, BinaryWriterEx bw) { base.Write(s, bw); bw.WriteSingle(m_characterHeight); bw.WriteUInt64(0); bw.WriteUInt32(0); s.WriteVector4(bw, m_up); bw.WriteSingle(m_quantizationGridSize); bw.WriteSingle(m_maxWalkableSlope); bw.WriteByte((byte)m_triangleWinding); bw.WriteUInt16(0); bw.WriteByte(0); bw.WriteSingle(m_degenerateAreaThreshold); bw.WriteSingle(m_degenerateWidthThreshold); bw.WriteSingle(m_convexThreshold); bw.WriteInt32(m_maxNumEdgesPerFace); m_edgeMatchingParams.Write(s, bw); bw.WriteUInt32((uint)m_edgeMatchingMetric); bw.WriteInt32(m_edgeConnectionIterations); bw.WriteUInt32(0); m_regionPruningSettings.Write(s, bw); m_wallClimbingSettings.Write(s, bw); bw.WriteUInt64(0); bw.WriteUInt32(0); bw.WriteUInt16(0); m_boundsAabb.Write(s, bw); s.WriteClassPointerArray <hkaiCarver>(bw, m_carvers); s.WriteClassPointerArray <hkaiMaterialPainter>(bw, m_painters); bw.WriteUInt64(0); bw.WriteUInt32(m_defaultConstructionProperties); bw.WriteUInt32(0); s.WriteClassArray <hkaiNavMeshGenerationSettingsMaterialConstructionPair>(bw, m_materialMap); bw.WriteBoolean(m_fixupOverlappingTriangles); bw.WriteUInt16(0); bw.WriteByte(0); m_overlappingTrianglesSettings.Write(s, bw); bw.WriteBoolean(m_weldInputVertices); bw.WriteUInt16(0); bw.WriteByte(0); bw.WriteSingle(m_weldThreshold); bw.WriteSingle(m_minCharacterWidth); bw.WriteByte((byte)m_characterWidthUsage); bw.WriteBoolean(m_enableSimplification); bw.WriteUInt16(0); m_simplificationSettings.Write(s, bw); bw.WriteInt32(m_carvedMaterialDeprecated); bw.WriteInt32(m_carvedCuttingMaterialDeprecated); bw.WriteBoolean(m_setBestFaceCenters); bw.WriteBoolean(m_checkEdgeGeometryConsistency); bw.WriteBoolean(m_saveInputSnapshot); bw.WriteUInt32(0); bw.WriteByte(0); s.WriteStringPointer(bw, m_snapshotFilename); s.WriteClassArray <hkaiNavMeshGenerationSettingsOverrideSettings>(bw, m_overrideSettings); bw.WriteUInt64(0); }
public virtual void Write(PackFileSerializer s, BinaryWriterEx bw) { s.WriteClassPointer <hkaiVolume>(bw, m_volume); bw.WriteInt32(m_material); bw.WriteByte((byte)m_characterWidthUsage); bw.WriteUInt16(0); bw.WriteByte(0); bw.WriteSingle(m_maxWalkableSlope); m_edgeMatchingParams.Write(s, bw); bw.WriteUInt32(0); m_simplificationSettings.Write(s, bw); }