private void BuildPolyMesh() { ContourSet cset = mBuildContext.Contours; PolyMesh polyMesh = PolyMesh.Build(mBuildContext , cset , mConfig.MaxVertsPerPoly , mConfig.WalkableHeight , mConfig.WalkableRadius , mConfig.WalkableStep); if (CanDispose(NMGenAssetFlag.ContourSet)) { cset.RequestDisposal(); mBuildContext.Contours = null; } if (polyMesh == null) { FinalizeAbort("Aborted at poly mesh build."); return; } if (polyMesh.PolyCount < 1) { FinalizeNoResult("Aborted after poly mesh build. No polygons generated."); return; } mBuildContext.PolyMesh = polyMesh; if (PostProcess() & PostPolyMeshCheck() & PostCompactFieldCheck()) { mBuildContext.Log("Built poly mesh. PolyCount: " + polyMesh.PolyCount, this); mState = NMGenState.DetailMeshBuild; } }