├── README.md ├── sources ├── .gitignore ├── LICENSE ├── README.TXT ├── README.md ├── build │ ├── assemblyInfo │ │ ├── cai-nav-u3d-editor.cs │ │ ├── cai-nav-u3d.cs │ │ ├── cai-nav.cs │ │ ├── cai-nmbuild-extras-u3d-editor.cs │ │ ├── cai-nmbuild-extras-u3d.cs │ │ ├── cai-nmbuild-u3d-editor.cs │ │ ├── cai-nmbuild.cs │ │ ├── cai-nmgen.cs │ │ ├── cai-util-u3d-editor.cs │ │ ├── cai-util-u3d.cs │ │ └── cai-util.cs │ ├── dotNet │ │ ├── cai-navigation.sln │ │ ├── nav-rcn │ │ │ └── cai-nav-rcn.vcproj │ │ ├── nav │ │ │ └── cai-nav.csproj │ │ ├── nmbuild │ │ │ └── cai-nmbuild.csproj │ │ ├── nmgen-rcn │ │ │ └── cai-nmgen-rcn.vcproj │ │ ├── nmgen │ │ │ └── cai-nmgen.csproj │ │ └── util │ │ │ └── cai-util.csproj │ ├── misc │ │ ├── LCOPY.TXT │ │ └── RCOPY.TXT │ ├── src │ │ └── main │ │ │ └── Assets │ │ │ └── CAI │ │ │ ├── nav-u3d │ │ │ ├── CAIBakedNavmesh.cs │ │ │ ├── CrowdAgentDebug.cs │ │ │ ├── Editor │ │ │ │ ├── CAIBakedNavmeshEditor.cs │ │ │ │ ├── CAINavEditorSettings.cs │ │ │ │ ├── CAINavEditorSettingsEditor.cs │ │ │ │ ├── NavEditorUtil.cs │ │ │ │ └── NavmeshSceneDraw.cs │ │ │ ├── INavmeshData.cs │ │ │ ├── NavDebug.cs │ │ │ ├── NavGroup.cs │ │ │ └── NavmeshBuildInfo.cs │ │ │ ├── nav │ │ │ ├── CornerData.cs │ │ │ ├── CrowdAgent.cs │ │ │ ├── CrowdAgentCoreData.cs │ │ │ ├── CrowdAgentParams.cs │ │ │ ├── CrowdAgentState.cs │ │ │ ├── CrowdAvoidanceParams.cs │ │ │ ├── CrowdLocalBoundaryData.cs │ │ │ ├── CrowdManager.cs │ │ │ ├── CrowdNeighbor.cs │ │ │ ├── CrowdProximityGrid.cs │ │ │ ├── CrowdUpdateFlags.cs │ │ │ ├── NavStatus.cs │ │ │ ├── NavUtil.cs │ │ │ ├── Navmesh.cs │ │ │ ├── NavmeshBVNode.cs │ │ │ ├── NavmeshConnection.cs │ │ │ ├── NavmeshDetailMesh.cs │ │ │ ├── NavmeshLink.cs │ │ │ ├── NavmeshParams.cs │ │ │ ├── NavmeshPoint.cs │ │ │ ├── NavmeshPoly.cs │ │ │ ├── NavmeshPolyType.cs │ │ │ ├── NavmeshQuery.cs │ │ │ ├── NavmeshQueryFilter.cs │ │ │ ├── NavmeshTile.cs │ │ │ ├── NavmeshTileBuildData.cs │ │ │ ├── NavmeshTileData.cs │ │ │ ├── NavmeshTileExtract.cs │ │ │ ├── NavmeshTileHeader.cs │ │ │ ├── OffMeshConnection.cs │ │ │ ├── PathCorridor.cs │ │ │ ├── PathCorridorData.cs │ │ │ └── WaypointFlag.cs │ │ │ ├── nmbuild-extras-u3d │ │ │ ├── BoxAreaMarker.cs │ │ │ ├── CylinderAreaMarker.cs │ │ │ ├── NMGenAreaMarker.cs │ │ │ ├── NMGenComponent.cs │ │ │ ├── OFMConnection.cs │ │ │ └── editor │ │ │ │ ├── AreaMarkerCompiler.cs │ │ │ │ ├── AreaMarkerCompilerEditor.cs │ │ │ │ ├── AreaMarkerEditor.cs │ │ │ │ ├── BoxAreaMarkerEditor.cs │ │ │ │ ├── CylinderAreaMarkerEditor.cs │ │ │ │ ├── NMGenComponentEditor.cs │ │ │ │ ├── OFMConnectionCompiler.cs │ │ │ │ ├── OFMConnectionCompilerEditor.cs │ │ │ │ └── OFMConnectionEditor.cs │ │ │ ├── nmbuild-u3d │ │ │ └── Editor │ │ │ │ ├── MatchPredicate.cs │ │ │ │ ├── MatchType.cs │ │ │ │ ├── MeshUtil.cs │ │ │ │ ├── NMBEditorUtil.cs │ │ │ │ ├── NMBuildSettings.cs │ │ │ │ ├── NMGenConfig.cs │ │ │ │ ├── NMGenDebug.cs │ │ │ │ ├── NavmeshBuild.cs │ │ │ │ ├── NavmeshBuildDelegate.cs │ │ │ │ ├── NavmeshBuildEditor.cs │ │ │ │ ├── NavmeshBuildHelper.cs │ │ │ │ ├── NavmeshBuildManager.cs │ │ │ │ ├── NavmeshBuildState.cs │ │ │ │ ├── NavmeshBuildType.cs │ │ │ │ ├── TerrainUtil.cs │ │ │ │ ├── TileBuildData.cs │ │ │ │ ├── TileBuildDataItem.cs │ │ │ │ ├── TileBuildState.cs │ │ │ │ ├── TileSelection.cs │ │ │ │ └── UnityBuildContext.cs │ │ │ ├── nmbuild │ │ │ └── Editor │ │ │ │ ├── BuildTask.cs │ │ │ │ ├── BuildTaskProcessor.cs │ │ │ │ ├── BuildTaskState.cs │ │ │ │ ├── ConnectionSet.cs │ │ │ │ ├── ConnectionSetCompiler.cs │ │ │ │ ├── IBuildTask.cs │ │ │ │ ├── IncrementalBuilder.cs │ │ │ │ ├── InputGeometry.cs │ │ │ │ ├── InputGeometryBuilder.cs │ │ │ │ ├── InputGeometryCompiler.cs │ │ │ │ ├── NMBuild.cs │ │ │ │ ├── NMGenAssetFlag.cs │ │ │ │ ├── NMGenAssets.cs │ │ │ │ ├── NMGenContext.cs │ │ │ │ ├── NMGenFlag.cs │ │ │ │ ├── NMGenState.cs │ │ │ │ ├── NMGenTask.cs │ │ │ │ ├── ProcessorSet.cs │ │ │ │ ├── TileBuildAssets.cs │ │ │ │ ├── TileBuildTask.cs │ │ │ │ ├── TileSetDefinition.cs │ │ │ │ └── TileZone.cs │ │ │ ├── nmgen │ │ │ └── Editor │ │ │ │ ├── BuildContext.cs │ │ │ │ ├── ChunkyTriMesh.cs │ │ │ │ ├── ChunkyTriMeshBuilder.cs │ │ │ │ ├── ChunkyTriNode.cs │ │ │ │ ├── CompactCell.cs │ │ │ │ ├── CompactHeightfield.cs │ │ │ │ ├── CompactSpan.cs │ │ │ │ ├── Contour.cs │ │ │ │ ├── ContourBuildFlags.cs │ │ │ │ ├── ContourFlags.cs │ │ │ │ ├── ContourSet.cs │ │ │ │ ├── HeightFieldLayer.cs │ │ │ │ ├── HeightFieldLayerSet.cs │ │ │ │ ├── Heightfield.cs │ │ │ │ ├── HeightfieldSpan.cs │ │ │ │ ├── NMGen.cs │ │ │ │ ├── NMGenParams.cs │ │ │ │ ├── NMGenTileParams.cs │ │ │ │ ├── PolyMesh.cs │ │ │ │ ├── PolyMeshData.cs │ │ │ │ ├── PolyMeshDetail.cs │ │ │ │ └── PolyMeshDetailData.cs │ │ │ ├── util-u3d │ │ │ ├── ColorUtil.cs │ │ │ ├── DebugDraw.cs │ │ │ └── Editor │ │ │ │ └── EditorUtil.cs │ │ │ └── util │ │ │ ├── ArrayUtil.cs │ │ │ ├── CAIUtil.cs │ │ │ ├── IPriorityItem.cs │ │ │ ├── MathUtil.cs │ │ │ ├── PriorityComparer.cs │ │ │ ├── Vector2.cs │ │ │ ├── Vector2Util.cs │ │ │ ├── Vector3.cs │ │ │ └── Vector3Util.cs │ └── unity │ │ ├── cai-navigation-u3d.sln │ │ ├── nav-rcn │ │ ├── cai-nav-rcn.vcproj │ │ ├── cai-nav-rcn.vcxproj │ │ └── cai-nav-rcn.vcxproj.filters │ │ ├── nav-u3d-editor │ │ └── cai-nav-u3d-editor.csproj │ │ ├── nav-u3d │ │ └── cai-nav-u3d.csproj │ │ ├── nav │ │ └── cai-nav.csproj │ │ ├── nmbuild-extras-u3d-editor │ │ └── cai-nmbuild-extras-u3d-editor.csproj │ │ ├── nmbuild-extras-u3d │ │ └── cai-nmbuild-extras-u3d.csproj │ │ ├── nmbuild-u3d-editor │ │ └── cai-nmbuild-u3d-editor.csproj │ │ ├── nmbuild │ │ └── cai-nmbuild.csproj │ │ ├── nmgen-rcn │ │ ├── cai-nmgen-rcn.vcproj │ │ ├── cai-nmgen-rcn.vcxproj │ │ └── cai-nmgen-rcn.vcxproj.filters │ │ ├── nmgen │ │ └── cai-nmgen.csproj │ │ ├── util-u3d-editor │ │ └── cai-util-u3d-editor.csproj │ │ ├── util-u3d │ │ └── cai-util-u3d.csproj │ │ └── util │ │ └── cai-util.csproj ├── doc │ ├── ReadMe.txt │ ├── TOC.content │ ├── Tokens.tokens │ ├── alldoc.shfbproj │ └── cainav │ │ ├── CAINav.aml │ │ ├── CAINavOtherPlatforms.aml │ │ ├── CAINavStructure.aml │ │ ├── CAINavTokens.tokens │ │ ├── SwapingVectors.aml │ │ ├── images │ │ ├── CAINavDependencies.png │ │ ├── Explorer-StraightPath.jpg │ │ ├── Explorer-StraightPath.psd │ │ ├── Explorer-StraightPathLg.jpg │ │ ├── HighLevelComponents.png │ │ ├── WrapDirection.png │ │ ├── nav │ │ │ ├── CAINavSettings.jpg │ │ │ ├── CAINavSettings.psd │ │ │ ├── NavManager-Options.jpg │ │ │ ├── NavManager-Options.psd │ │ │ ├── NavManager-Structure.jpg │ │ │ ├── NavManager-Structure.psd │ │ │ ├── OffMeshConnection.jpg │ │ │ └── OffMeshConnection.psd │ │ └── nmgen │ │ │ ├── ConservativeVoxelization.jpg │ │ │ ├── ConservativeVoxelization.png │ │ │ ├── Heightfield-BasicBox.jpg │ │ │ ├── Heightfield-Columns.jpg │ │ │ ├── Heightfield-Open.jpg │ │ │ ├── Heightfield-Solid.jpg │ │ │ ├── Heightfield-SolidSpan.jpg │ │ │ ├── Heightfield-VoxelColumn.jpg │ │ │ ├── Heightfield-VoxelGrid.jpg │ │ │ ├── NMGenBuildStandard.png │ │ │ ├── NavmeshBuild-Standard.png │ │ │ ├── NavmeshBuild-UnityMainAssets.png │ │ │ ├── PolyMesh-Basic.jpg │ │ │ ├── PolyMesh-Basic.psd │ │ │ ├── PolyMeshDetail-Basic.jpg │ │ │ ├── PolyMeshDetail-Basic.psd │ │ │ ├── Stage-DetailMesh.jpg │ │ │ ├── Stage-DetailMesh.png │ │ │ ├── Stage-OpenHeightfield.jpg │ │ │ ├── Stage-OpenHeightfield.png │ │ │ ├── Stage-PolyMesh.jpg │ │ │ ├── Stage-PolyMesh.png │ │ │ ├── Stage-RawContour.jpg │ │ │ ├── Stage-RawContour.png │ │ │ ├── Stage-Regions.gif │ │ │ ├── Stage-Regions.png │ │ │ ├── Stage-SimplifiedContour.jpg │ │ │ ├── Stage-SimplifiedContour.png │ │ │ ├── UnityInputBuildProcess.png │ │ │ ├── Value-MinRegionArea.jpg │ │ │ ├── Value-MinRegionArea.psd │ │ │ ├── Value-WaklableStep.jpg │ │ │ ├── Value-WaklableStep.psd │ │ │ ├── Value-WalkableHeight.jpg │ │ │ ├── Value-WalkableHeight.psd │ │ │ ├── Value-WalkableRadius.jpg │ │ │ ├── Value-WalkableRadius.psd │ │ │ └── examples │ │ │ ├── AdvancedBuild-Builder.jpg │ │ │ ├── AdvancedBuild-Builder.psd │ │ │ ├── AdvancedBuild-Config.jpg │ │ │ ├── AdvancedBuild-Config.psd │ │ │ ├── AdvancedBuild-Input.jpg │ │ │ ├── AdvancedBuild-Input.psd │ │ │ ├── AssignGeometrySource.jpg │ │ │ ├── AssignGeometrySource.psd │ │ │ ├── FinalMesh-Lg.jpg │ │ │ ├── FinalMesh.jpg │ │ │ ├── FinalMesh.psd │ │ │ ├── InteriorEnvironment-Lg.jpg │ │ │ ├── InteriorEnvironment.jpg │ │ │ ├── InteriorEnvironment.psd │ │ │ ├── NavmeshBuildConfig.jpg │ │ │ ├── NavmeshBuildConfig.psd │ │ │ ├── NavmeshBuildInput.jpg │ │ │ ├── NavmeshBuildInput.psd │ │ │ ├── NavmeshBuildInspector.jpg │ │ │ ├── NavmeshBuildInspector.psd │ │ │ ├── NavmeshBuildUpper.jpg │ │ │ ├── NavmeshBuildUpper.psd │ │ │ ├── OverlappingAreaMarkers.jpg │ │ │ ├── OverlappingAreaMarkers.psd │ │ │ ├── SetNMGenConfig.jpg │ │ │ └── SetNMGenConfig.psd │ │ ├── nav │ │ ├── CrowdManager.aml │ │ ├── Nav.aml │ │ ├── Navmesh.aml │ │ ├── NavmeshQuery.aml │ │ └── PathCorridor.aml │ │ ├── nmgen │ │ ├── AreasAndBuild.aml │ │ ├── BuildProcess.aml │ │ ├── CompileInput.aml │ │ ├── CreateNavmesh.aml │ │ ├── HeightfieldIntro.aml │ │ ├── IncrementalBuilder.aml │ │ ├── NMGen.aml │ │ └── TiledMeshes.aml │ │ └── u3d │ │ ├── AdvanceBuildType.aml │ │ ├── InputBuild.aml │ │ ├── U3DGettingStarted.aml │ │ ├── UnityBuildConfig.aml │ │ └── UnityNMGen.aml ├── kbe_changed.txt ├── legacy │ ├── lib │ │ ├── README.txt │ │ └── java │ │ │ ├── LICENSE.txt │ │ │ ├── cai-util-0.1.1.jar │ │ │ └── junit-4.7.jar │ ├── nmgen-study │ │ ├── build.properties │ │ ├── build.xml │ │ ├── misc │ │ │ ├── CHANGES.txt │ │ │ ├── README.txt │ │ │ └── overview.html │ │ ├── src │ │ │ └── org │ │ │ │ └── critterai │ │ │ │ └── nmgen │ │ │ │ ├── BoundedField.java │ │ │ │ ├── CleanNullRegionBorders.java │ │ │ │ ├── Contour.java │ │ │ │ ├── ContourSet.java │ │ │ │ ├── ContourSetBuilder.java │ │ │ │ ├── DetailMeshBuilder.java │ │ │ │ ├── FilterOutSmallRegions.java │ │ │ │ ├── Geometry.java │ │ │ │ ├── HeightSpan.java │ │ │ │ ├── IContourAlgorithm.java │ │ │ │ ├── IOpenHeightFieldAlgorithm.java │ │ │ │ ├── IntermediateData.java │ │ │ │ ├── MatchNullRegionEdges.java │ │ │ │ ├── NavmeshGenerator.java │ │ │ │ ├── NullRegionMaxEdge.java │ │ │ │ ├── OpenHeightSpan.java │ │ │ │ ├── OpenHeightfield.java │ │ │ │ ├── OpenHeightfieldBuilder.java │ │ │ │ ├── PolyMeshField.java │ │ │ │ ├── PolyMeshFieldBuilder.java │ │ │ │ ├── Region.java │ │ │ │ ├── SolidHeightfield.java │ │ │ │ ├── SolidHeightfieldBuilder.java │ │ │ │ ├── SpanFlags.java │ │ │ │ ├── TriangleMesh.java │ │ │ │ └── package-info.java │ │ └── test │ │ │ └── org │ │ │ └── critterai │ │ │ └── nmgen │ │ │ ├── AllTests.java │ │ │ ├── ContourUtil.java │ │ │ ├── EncompassedNullRegionTests.java │ │ │ ├── GeometryTests.java │ │ │ ├── NullRegionOuterCornerTipTests.java │ │ │ ├── NullRegionShortWrapTests.java │ │ │ ├── OpenHeightFieldUtil.java │ │ │ ├── OpenHeightSpanTests.java │ │ │ ├── RemoveIntersectingSegmentTests.java │ │ │ └── RemoveVerticalSegmentTests.java │ └── util-java │ │ ├── build.properties │ │ ├── build.xml │ │ ├── misc │ │ └── overview.html │ │ ├── src │ │ └── org │ │ │ └── critterai │ │ │ └── math │ │ │ ├── MathUtil.java │ │ │ ├── Vector2.java │ │ │ ├── Vector3.java │ │ │ ├── geom │ │ │ ├── Line2.java │ │ │ ├── LineRelType.java │ │ │ ├── PointLineRelType.java │ │ │ ├── Polygon3.java │ │ │ ├── Rectangle2.java │ │ │ ├── Triangle2.java │ │ │ ├── Triangle3.java │ │ │ ├── WrapDirection.java │ │ │ └── package-info.java │ │ │ └── package-info.java │ │ └── test │ │ └── org │ │ └── critterai │ │ └── math │ │ ├── AllTests.java │ │ ├── MathUtilTests.java │ │ ├── Vector2Tests.java │ │ ├── Vector3Tests.java │ │ └── geom │ │ ├── AllTests.java │ │ ├── Line2Tests.java │ │ ├── Polygon3Tests.java │ │ ├── Rectangle2Tests.java │ │ ├── Triangle2Test.java │ │ └── Triangle3Tests.java └── src │ ├── main │ ├── Assets │ │ ├── CAI │ │ │ ├── GlobalAssets │ │ │ │ ├── CAINavEditorSettings.asset │ │ │ │ └── ReadMe.txt │ │ │ ├── nav-u3d │ │ │ │ ├── CAIBakedNavmesh.cs │ │ │ │ ├── CrowdAgentDebug.cs │ │ │ │ ├── Editor │ │ │ │ │ ├── CAIBakedNavmeshEditor.cs │ │ │ │ │ ├── CAINavEditorSettings.cs │ │ │ │ │ ├── CAINavEditorSettingsEditor.cs │ │ │ │ │ ├── NavEditorUtil.cs │ │ │ │ │ └── NavmeshSceneDraw.cs │ │ │ │ ├── INavmeshData.cs │ │ │ │ ├── NavDebug.cs │ │ │ │ ├── NavGroup.cs │ │ │ │ └── NavmeshBuildInfo.cs │ │ │ ├── nav │ │ │ │ ├── CornerData.cs │ │ │ │ ├── CrowdAgent.cs │ │ │ │ ├── CrowdAgentCoreData.cs │ │ │ │ ├── CrowdAgentParams.cs │ │ │ │ ├── CrowdAgentState.cs │ │ │ │ ├── CrowdAvoidanceParams.cs │ │ │ │ ├── CrowdLocalBoundaryData.cs │ │ │ │ ├── CrowdManager.cs │ │ │ │ ├── CrowdNeighbor.cs │ │ │ │ ├── CrowdProximityGrid.cs │ │ │ │ ├── CrowdUpdateFlags.cs │ │ │ │ ├── NavStatus.cs │ │ │ │ ├── NavUtil.cs │ │ │ │ ├── Navmesh.cs │ │ │ │ ├── NavmeshBVNode.cs │ │ │ │ ├── NavmeshConnection.cs │ │ │ │ ├── NavmeshDetailMesh.cs │ │ │ │ ├── NavmeshLink.cs │ │ │ │ ├── NavmeshParams.cs │ │ │ │ ├── NavmeshPoint.cs │ │ │ │ ├── NavmeshPoly.cs │ │ │ │ ├── NavmeshPolyType.cs │ │ │ │ ├── NavmeshQuery.cs │ │ │ │ ├── NavmeshQueryFilter.cs │ │ │ │ ├── NavmeshTile.cs │ │ │ │ ├── NavmeshTileBuildData.cs │ │ │ │ ├── NavmeshTileData.cs │ │ │ │ ├── NavmeshTileExtract.cs │ │ │ │ ├── NavmeshTileHeader.cs │ │ │ │ ├── OffMeshConnection.cs │ │ │ │ ├── PathCorridor.cs │ │ │ │ ├── PathCorridorData.cs │ │ │ │ ├── WaypointFlag.cs │ │ │ │ └── rcn │ │ │ │ │ ├── CrowdAgentEx.cs │ │ │ │ │ ├── CrowdManagerEx.cs │ │ │ │ │ ├── CrowdProximityGridEx.cs │ │ │ │ │ ├── NavInteropUtil.cs │ │ │ │ │ ├── NavmeshEx.cs │ │ │ │ │ ├── NavmeshQueryEx.cs │ │ │ │ │ ├── NavmeshQueryFilterEx.cs │ │ │ │ │ ├── NavmeshTileEx.cs │ │ │ │ │ └── PathCorridorEx.cs │ │ │ ├── nmbuild-extras-u3d │ │ │ │ ├── BoxAreaMarker.cs │ │ │ │ ├── CylinderAreaMarker.cs │ │ │ │ ├── Editor │ │ │ │ │ ├── AreaMarkerCompiler.cs │ │ │ │ │ ├── AreaMarkerCompilerEditor.cs │ │ │ │ │ ├── AreaMarkerEditor.cs │ │ │ │ │ ├── BoxAreaMarkerEditor.cs │ │ │ │ │ ├── CylinderAreaMarkerEditor.cs │ │ │ │ │ ├── NMGenComponentEditor.cs │ │ │ │ │ ├── OFMConnectionCompiler.cs │ │ │ │ │ ├── OFMConnectionCompilerEditor.cs │ │ │ │ │ └── OFMConnectionEditor.cs │ │ │ │ ├── NMGenAreaMarker.cs │ │ │ │ ├── NMGenComponent.cs │ │ │ │ └── OFMConnection.cs │ │ │ ├── nmbuild-u3d │ │ │ │ └── Editor │ │ │ │ │ ├── MatchPredicate.cs │ │ │ │ │ ├── MatchType.cs │ │ │ │ │ ├── MeshUtil.cs │ │ │ │ │ ├── NMBEditorUtil.cs │ │ │ │ │ ├── NMBuildSettings.cs │ │ │ │ │ ├── NMGenConfig.cs │ │ │ │ │ ├── NMGenDebug.cs │ │ │ │ │ ├── NavmeshBuild.cs │ │ │ │ │ ├── NavmeshBuildDelegate.cs │ │ │ │ │ ├── NavmeshBuildEditor.cs │ │ │ │ │ ├── NavmeshBuildHelper.cs │ │ │ │ │ ├── NavmeshBuildManager.cs │ │ │ │ │ ├── NavmeshBuildState.cs │ │ │ │ │ ├── NavmeshBuildType.cs │ │ │ │ │ ├── TerrainUtil.cs │ │ │ │ │ ├── TileBuildData.cs │ │ │ │ │ ├── TileBuildDataItem.cs │ │ │ │ │ ├── TileBuildState.cs │ │ │ │ │ ├── TileSelection.cs │ │ │ │ │ ├── UnityBuildContext.cs │ │ │ │ │ ├── controls │ │ │ │ │ ├── BuildControl.cs │ │ │ │ │ ├── BuildController.cs │ │ │ │ │ ├── BuildProcessor.cs │ │ │ │ │ ├── BuildSelector.cs │ │ │ │ │ ├── BuilderControl.cs │ │ │ │ │ ├── ControlContext.cs │ │ │ │ │ ├── ControlUtil.cs │ │ │ │ │ ├── CoreFailureControl.cs │ │ │ │ │ ├── FailureControl.cs │ │ │ │ │ ├── IBuildControl.cs │ │ │ │ │ ├── InputCompileControl.cs │ │ │ │ │ ├── MiniInputCompile.cs │ │ │ │ │ ├── MultiTileBuildControl.cs │ │ │ │ │ ├── NMGenConfigControl.cs │ │ │ │ │ └── SingleTileBuildControl.cs │ │ │ │ │ ├── input │ │ │ │ │ ├── AreaFlagDef.cs │ │ │ │ │ ├── AreaFlagDefEditor.cs │ │ │ │ │ ├── ColliderCompiler.cs │ │ │ │ │ ├── ColliderCompilerEditor.cs │ │ │ │ │ ├── ColliderHelper.cs │ │ │ │ │ ├── DefaultAreaDef.cs │ │ │ │ │ ├── DefaultAreaDefEditor.cs │ │ │ │ │ ├── IInputBuildProcessor.cs │ │ │ │ │ ├── ISceneQuery.cs │ │ │ │ │ ├── InputAssets.cs │ │ │ │ │ ├── InputBuildContext.cs │ │ │ │ │ ├── InputBuildInfo.cs │ │ │ │ │ ├── InputBuildOption.cs │ │ │ │ │ ├── InputBuildState.cs │ │ │ │ │ ├── InputBuildTask.cs │ │ │ │ │ ├── InputBuilder.cs │ │ │ │ │ ├── MeshAreaDef.cs │ │ │ │ │ ├── MeshAreaDefEditor.cs │ │ │ │ │ ├── MeshColocationOption.cs │ │ │ │ │ ├── MeshCompiler.cs │ │ │ │ │ ├── MeshCompilerEditor.cs │ │ │ │ │ ├── MeshInputFilter.cs │ │ │ │ │ ├── MeshInputFilterEditor.cs │ │ │ │ │ ├── StaticFilter.cs │ │ │ │ │ ├── StaticFilterEditor.cs │ │ │ │ │ ├── TagAreaDef.cs │ │ │ │ │ ├── TagAreaDefEditor.cs │ │ │ │ │ ├── TagInputFilter.cs │ │ │ │ │ ├── TagInputFilterEditor.cs │ │ │ │ │ ├── TagSceneQuery.cs │ │ │ │ │ ├── TagSceneQueryEditor.cs │ │ │ │ │ ├── TerrainCompiler.cs │ │ │ │ │ └── TerrainCompilerEditor.cs │ │ │ │ │ └── views │ │ │ │ │ ├── DebugViewContext.cs │ │ │ │ │ ├── InputDebugView.cs │ │ │ │ │ ├── MeshDebugOption.cs │ │ │ │ │ ├── MeshDebugView.cs │ │ │ │ │ ├── SelectionDebugView.cs │ │ │ │ │ ├── TileGridDebugView.cs │ │ │ │ │ └── ViewOption.cs │ │ │ ├── nmbuild │ │ │ │ └── Editor │ │ │ │ │ ├── BuildTask.cs │ │ │ │ │ ├── BuildTaskProcessor.cs │ │ │ │ │ ├── BuildTaskState.cs │ │ │ │ │ ├── ConnectionSet.cs │ │ │ │ │ ├── ConnectionSetCompiler.cs │ │ │ │ │ ├── IBuildTask.cs │ │ │ │ │ ├── IncrementalBuilder.cs │ │ │ │ │ ├── InputGeometry.cs │ │ │ │ │ ├── InputGeometryBuilder.cs │ │ │ │ │ ├── InputGeometryCompiler.cs │ │ │ │ │ ├── NMBuild.cs │ │ │ │ │ ├── NMGenAssetFlag.cs │ │ │ │ │ ├── NMGenAssets.cs │ │ │ │ │ ├── NMGenContext.cs │ │ │ │ │ ├── NMGenFlag.cs │ │ │ │ │ ├── NMGenState.cs │ │ │ │ │ ├── NMGenTask.cs │ │ │ │ │ ├── ProcessorSet.cs │ │ │ │ │ ├── TileBuildAssets.cs │ │ │ │ │ ├── TileBuildTask.cs │ │ │ │ │ ├── TileSetDefinition.cs │ │ │ │ │ ├── TileZone.cs │ │ │ │ │ └── processors │ │ │ │ │ ├── ApplyPolygonFlags.cs │ │ │ │ │ ├── AreaBoxMarker.cs │ │ │ │ │ ├── AreaConvexMarker.cs │ │ │ │ │ ├── AreaCylinderMarker.cs │ │ │ │ │ ├── AreaFlagMapper.cs │ │ │ │ │ ├── AreaMarker.cs │ │ │ │ │ ├── FilterLedgeSpans.cs │ │ │ │ │ ├── FilterLowHeightSpans.cs │ │ │ │ │ ├── INMGenProcessor.cs │ │ │ │ │ ├── LowObstaclesWalkable.cs │ │ │ │ │ └── NMGenProcessor.cs │ │ │ ├── nmgen │ │ │ │ ├── Editor │ │ │ │ │ ├── BuildContext.cs │ │ │ │ │ ├── ChunkyTriMesh.cs │ │ │ │ │ ├── ChunkyTriMeshBuilder.cs │ │ │ │ │ ├── ChunkyTriNode.cs │ │ │ │ │ ├── CompactCell.cs │ │ │ │ │ ├── CompactHeightfield.cs │ │ │ │ │ ├── CompactSpan.cs │ │ │ │ │ ├── Contour.cs │ │ │ │ │ ├── ContourBuildFlags.cs │ │ │ │ │ ├── ContourFlags.cs │ │ │ │ │ ├── ContourSet.cs │ │ │ │ │ ├── HeightFieldLayer.cs │ │ │ │ │ ├── HeightFieldLayerSet.cs │ │ │ │ │ ├── Heightfield.cs │ │ │ │ │ ├── HeightfieldSpan.cs │ │ │ │ │ ├── NMGen.cs │ │ │ │ │ ├── NMGenParams.cs │ │ │ │ │ ├── NMGenTileParams.cs │ │ │ │ │ ├── PolyMesh.cs │ │ │ │ │ ├── PolyMeshData.cs │ │ │ │ │ ├── PolyMeshDetail.cs │ │ │ │ │ ├── PolyMeshDetailData.cs │ │ │ │ │ └── rcn │ │ │ │ │ │ ├── BuildContextEx.cs │ │ │ │ │ │ ├── CompactHeightfieldEx.cs │ │ │ │ │ │ ├── ContourSetEx.cs │ │ │ │ │ │ ├── HeightfieldEx.cs │ │ │ │ │ │ ├── HeightfieldLayerSetEx.cs │ │ │ │ │ │ ├── NMGenEx.cs │ │ │ │ │ │ ├── NMGenInteropUtil.cs │ │ │ │ │ │ ├── PolyMeshDetailEx.cs │ │ │ │ │ │ └── PolyMeshEx.cs │ │ │ │ └── ReadMe.txt │ │ │ ├── util-u3d │ │ │ │ ├── ColorUtil.cs │ │ │ │ ├── DebugDraw.cs │ │ │ │ └── Editor │ │ │ │ │ └── EditorUtil.cs │ │ │ └── util │ │ │ │ ├── ArrayUtil.cs │ │ │ │ ├── CAIUtil.cs │ │ │ │ ├── IPriorityItem.cs │ │ │ │ ├── MathUtil.cs │ │ │ │ ├── PriorityComparer.cs │ │ │ │ ├── Vector2.cs │ │ │ │ ├── Vector2Util.cs │ │ │ │ ├── Vector3.cs │ │ │ │ ├── Vector3Util.cs │ │ │ │ ├── geom │ │ │ │ ├── Circle.cs │ │ │ │ ├── Line2.cs │ │ │ │ ├── LineRelType.cs │ │ │ │ ├── PointLineRelType.cs │ │ │ │ ├── Polygon3.cs │ │ │ │ ├── Rectangle2.cs │ │ │ │ ├── Triangle2.cs │ │ │ │ ├── Triangle3.cs │ │ │ │ ├── TriangleMesh.cs │ │ │ │ └── Wavefront.cs │ │ │ │ └── interop │ │ │ │ ├── AllocType.cs │ │ │ │ ├── IManagedObject.cs │ │ │ │ ├── ManagedObject.cs │ │ │ │ └── UtilEx.cs │ │ └── Plugins │ │ │ └── ReadMe.txt │ └── ReadMe.txt │ ├── nav-rcn │ ├── Detour │ │ ├── Include │ │ │ ├── DetourAlloc.h │ │ │ ├── DetourAssert.h │ │ │ ├── DetourCommon.h │ │ │ ├── DetourMath.h │ │ │ ├── DetourNavMesh.h │ │ │ ├── DetourNavMeshBuilder.h │ │ │ ├── DetourNavMeshQuery.h │ │ │ ├── DetourNode.h │ │ │ └── DetourStatus.h │ │ └── Source │ │ │ ├── DetourAlloc.cpp │ │ │ ├── DetourAssert.cpp │ │ │ ├── DetourCommon.cpp │ │ │ ├── DetourNavMesh.cpp │ │ │ ├── DetourNavMeshBuilder.cpp │ │ │ ├── DetourNavMeshQuery.cpp │ │ │ └── DetourNode.cpp │ ├── DetourCrowd │ │ ├── Include │ │ │ ├── DetourCrowd.h │ │ │ ├── DetourLocalBoundary.h │ │ │ ├── DetourObstacleAvoidance.h │ │ │ ├── DetourPathCorridor.h │ │ │ ├── DetourPathQueue.h │ │ │ └── DetourProximityGrid.h │ │ └── Source │ │ │ ├── DetourCrowd.cpp │ │ │ ├── DetourLocalBoundary.cpp │ │ │ ├── DetourObstacleAvoidance.cpp │ │ │ ├── DetourPathCorridor.cpp │ │ │ ├── DetourPathQueue.cpp │ │ │ └── DetourProximityGrid.cpp │ └── Nav │ │ ├── Include │ │ ├── DetourEx.h │ │ └── DetourNavMeshEx.h │ │ └── Source │ │ ├── DetourCrowdEx.cpp │ │ ├── DetourNavMeshBuildEx.cpp │ │ ├── DetourNavMeshQueryEx.cpp │ │ ├── DetourNavmeshEx.cpp │ │ ├── DetourPathCorridorEx.cpp │ │ ├── DetourQueryFilterEx.cpp │ │ └── NavValidation.cpp │ └── nmgen-rcn │ ├── NMGen │ ├── Include │ │ └── NMGen.h │ └── Source │ │ ├── BuildContext.cpp │ │ ├── CompactHeightfieldEx.cpp │ │ ├── ContoursEx.cpp │ │ ├── HeightfieldEx.cpp │ │ ├── HeightfieldLayerSet.cpp │ │ ├── NMGen.cpp │ │ ├── PolyMeshDetailEx.cpp │ │ └── PolyMeshEx.cpp │ └── Recast │ ├── Include │ ├── Recast.h │ ├── RecastAlloc.h │ └── RecastAssert.h │ └── Source │ ├── Recast.cpp │ ├── RecastAlloc.cpp │ ├── RecastArea.cpp │ ├── RecastContour.cpp │ ├── RecastFilter.cpp │ ├── RecastLayers.cpp │ ├── RecastMesh.cpp │ ├── RecastMeshDetail.cpp │ ├── RecastRasterization.cpp │ └── RecastRegion.cpp ├── unity3d-2018-64bit └── Assets │ ├── CAI │ ├── Editor.meta │ ├── Editor │ │ ├── cai-nav-u3d-editor.dll │ │ ├── cai-nav-u3d-editor.dll.meta │ │ ├── cai-nmbuild-extras-u3d-editor.dll │ │ ├── cai-nmbuild-extras-u3d-editor.dll.meta │ │ ├── cai-nmbuild-u3d-editor.dll │ │ ├── cai-nmbuild-u3d-editor.dll.meta │ │ ├── cai-nmbuild.dll │ │ ├── cai-nmbuild.dll.meta │ │ ├── cai-nmgen.dll │ │ ├── cai-nmgen.dll.meta │ │ ├── cai-util-u3d-editor.dll │ │ └── cai-util-u3d-editor.dll.meta │ ├── GlobalAssets.meta │ ├── GlobalAssets │ │ ├── CAINavEditorSettings.asset │ │ ├── CAINavEditorSettings.asset.meta │ │ ├── ReadMe.txt │ │ └── ReadMe.txt.meta │ ├── cai-nav-u3d.dll │ ├── cai-nav-u3d.dll.meta │ ├── cai-nav.dll │ ├── cai-nav.dll.meta │ ├── cai-nmbuild-extras-u3d.dll │ ├── cai-nmbuild-extras-u3d.dll.meta │ ├── cai-util-u3d.dll │ ├── cai-util-u3d.dll.meta │ ├── cai-util.dll │ └── cai-util.dll.meta │ └── Plugins │ ├── cai-nav-rcn.dll │ ├── cai-nav-rcn.dll.meta │ ├── cai-nmgen-rcn.dll │ ├── cai-nmgen-rcn.dll.meta │ ├── readme.md │ └── readme.md.meta └── unity3d-2019-64bit └── Assets ├── CAI ├── Editor.meta ├── Editor │ ├── cai-nav-u3d-editor.dll │ ├── cai-nav-u3d-editor.dll.meta │ ├── cai-nmbuild-extras-u3d-editor.dll │ ├── cai-nmbuild-extras-u3d-editor.dll.meta │ ├── cai-nmbuild-u3d-editor.dll │ ├── cai-nmbuild-u3d-editor.dll.meta │ ├── cai-nmbuild.dll │ ├── cai-nmbuild.dll.meta │ ├── cai-nmgen.dll │ ├── cai-nmgen.dll.meta │ ├── cai-util-u3d-editor.dll │ └── cai-util-u3d-editor.dll.meta ├── GlobalAssets.meta ├── GlobalAssets │ ├── CAINavEditorSettings.asset │ ├── CAINavEditorSettings.asset.meta │ ├── ReadMe.txt │ └── ReadMe.txt.meta ├── cai-nav-u3d.dll ├── cai-nav-u3d.dll.meta ├── cai-nav.dll ├── cai-nav.dll.meta ├── cai-nmbuild-extras-u3d.dll ├── cai-nmbuild-extras-u3d.dll.meta ├── cai-util-u3d.dll ├── cai-util-u3d.dll.meta ├── cai-util.dll └── cai-util.dll.meta └── Plugins ├── cai-nav-rcn.dll ├── cai-nav-rcn.dll.meta ├── cai-nmgen-rcn.dll ├── cai-nmgen-rcn.dll.meta ├── readme.md └── readme.md.meta /README.md: -------------------------------------------------------------------------------- 1 | unity3d_nav_critterai 2 | ============= 3 | 4 | ## 原名cai-nav 5 | KBEngine在u3d项目中的演示使用, 对导出部分做了一点修改。 6 | 7 | ## 编译(Unity): (注意:unity3d-x-64bit中已经有编译好的文件, 没有做源码修改的话无需重新编译,直接使用即可) 8 | 9 | 1: vs2013及以上打开sources\build\unity\cai-navigation-u3d.sln 10 | 11 | 2: 设置每个子项目的References,添加Unity库引用: 12 | Unity\Editor\Data\Managed\UnityEditor.dll 13 | Unity\Editor\Data\Managed\UnityEngine.dll 14 | 15 | 3: 编译,并且将相关文件拷贝到unity3d_nav_critterai\unity3d-x.x(具体文件参考已经编译好的unity3d-5.x-64bit中的内容) 16 | 17 | ## 使用方法参考项目: 18 | 19 | 1:将unity3d_nav_critterai\unity3d-x.x\Assets拷贝到Unity项目对应的Assets中 20 | 2:打开Unity3D创建一个新的3D游戏项目并且在游戏场景中添加一个地形与天空盒子,地形创建后在项目中资源名称叫“New Terrain.asset” 21 | 3:将unity3d/Assets目录下的所有目录与文件拷贝到你的Unity3D游戏项目对应的Assets下,现在我们的编辑器效果与游戏资产库文件夹中内容如下图 22 | 23 | ![cainav1](https://kbengine.github.io/assets/img/screenshots/cainav1.jpg) 24 | 25 | 4:在游戏项目菜单中选择(CritterAI->Create NMGen Assets->Navmesh Build : Standard)初始化,初始化完毕后 26 | 项目目录中将出现几个文件,他们如下: 27 | CAIBakedNavmesh.asset 28 | MeshCompiler.asset 29 | NavmeshBuild.asset 30 | 31 | 5:添加一个能生成地形寻路网格的Compiler,(CritterAI->Create NMGen Assets->Compiler : Terrain) 32 | 33 | ![cainav2](https://kbengine.github.io/assets/img/screenshots/cainav2.jpg) 34 | 35 | 我们还需要将我们之前创建的地形绑定到TerrainCompiler上。 36 | 37 | ![cainav3](https://kbengine.github.io/assets/img/screenshots/cainav3.jpg) 38 | 39 | 6:开始生成Navmesh 40 | 41 | ![cainav4](https://kbengine.github.io/assets/img/screenshots/cainav4.jpg) 42 | 43 | 7:导出为文件,此时会出现2个文件,其中“srv_”开头的文件用于服务端寻路,另一个则可用于客户端使用该插件来寻路。 44 | 45 | ![cainav5](https://kbengine.github.io/assets/img/screenshots/cainav5.jpg) 46 | 47 | (注意: 生成完毕后建议删除Unity3D项目中Assets\Plugins下关于CAINav的文件,否则启动游戏会造成无法导出游戏的错误,原因未知。) 48 | 49 | 8:将“srv_”这个文件拷贝到服务端资产目录,例如:“D:\kbe\kbengine\kbengine_demos_assets\res\spaces\xinshoucun” 50 | 重启服务端后,服务端该场景会加载这个资源用于寻路(注意:要正确寻路服务端实体必须在有效坐标范围内,即必须在Navmesh地表上) 51 | 52 | (更多功能请参考该插件官网:http://www.critterai.org/projects/cainav/) 53 | 54 | 55 | ## 演示项目参考: 56 | 57 | https://github.com/kbengine/kbengine_unity3d_warring 58 | 59 | 60 | 61 | 62 | -------------------------------------------------------------------------------- /sources/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2010-2012 Stephen A. Pratt 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | 23 | -------------------------------------------------------------------------------- /sources/README.TXT: -------------------------------------------------------------------------------- 1 | >> Directory Layout <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 2 | 3 | build 4 | 5 | Contains Visual Studio projects and build related source files for active 6 | projects. 7 | 8 | doc 9 | 10 | Documentation project and source files. 11 | 12 | legacy 13 | 14 | Older projects that are no longer being actively worked on. 15 | 16 | src 17 | 18 | Source for active projects. 19 | 20 | The source directory layout is a bit odd. Most C# source is located 21 | under /src/main/Assets/CAI. This layout mimics the layout within 22 | a Unity project. It is structured in this way to support easy source 23 | deployment to non-Windows Unity projects which can't use the pre-compiled 24 | libraries. 25 | 26 | >> .NET Notes <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 27 | 28 | No automatic builds or packaging. 29 | Sandcastle for documentation build. 30 | 31 | DOCUMENTATION BUILD NOTES 32 | 33 | The following tools are required to build the API documentation: 34 | 35 | Sandcastle: http://sandcastle.codeplex.com/ 36 | Sandcastle Help File Builder: http://shfb.codeplex.com/ 37 | 38 | Sandcastle Styles Patch 39 | 40 | http://sandcastlestyles.codeplex.com/ - Home Page 41 | http://sandcastlestyles.codeplex.com/releases/view/47767 - Patch Used 42 | 43 | >> Unity Notes <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 44 | 45 | Libraries and namespaces containing 'u3d' depend on Unity Pro 46 | (http://unity3d.com/). The free version of unity is not supported. 47 | 48 | The Visual Studio projects were created on Windows 64-bit, so the Unity DLL 49 | reference will be broken on 32-bit Windows. 50 | 51 | For Unity 3.x, the normal location of the DLL for both operating systems is 52 | as follows: 53 | 54 | Windows 32-bit: C:\Program Files\Unity\Editor\Data\Managed 55 | Windows 64-bit: C:\Program Files (x86)\Unity\Editor\Data\Managed\ 56 | 57 | 58 | -------------------------------------------------------------------------------- /sources/README.md: -------------------------------------------------------------------------------- 1 | [Home Site](http://www.critterai.org/) 2 | 3 | ## Project Archive 4 | 5 | This project is no longer being maintained. It has been transferred here from Google Code for archival purposes only. 6 | 7 | If you wish to continue development on your own fork there are two areas that will need attention. The version of [Recast Navigation](https://github.com/memononen/recastnavigation) used by CAINav is significantly out-of-date and will require API changes as part of the upgrade. If you'll be using the [Unity3D](http://unity3d.com/unity) integration, Unity 5.x obsoletes a lot of API's from 4.x and earlier. Expect some necessary changes, especially in the Unity Editor components. 8 | 9 | ## CAINav 10 | 11 | [Home](http://www.critterai.org/projects/cainav/) | [Documentation](http://www.critterai.org/projects/cainav/doc/) | [Downloads](http://www.critterai.org/projects/dowloads-archive.html) | .NET and Unity Pro 12 | 13 | CAINav is a navigation system for use with both .NET and Unity Pro on Windows. It includes navigation mesh generation, pathfinding, and local steering features. 14 | 15 | Supports Unity Pro version 3.4+. 16 | 17 | Polygon Mesh Generation: 18 | 19 | ![Example PolyMesh](http://www.critterai.org/projects/cainav/doc/media/PolyMesh-Basic.jpg) 20 | 21 | Pathfinding: 22 | 23 | (A view from within Feature Explorer) 24 | 25 | ![Example Path Corridor](http://www.critterai.org/projects/cainav/doc/media/Explorer-StraightPath.jpg) 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /sources/build/assemblyInfo/cai-nav-u3d-editor.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | using System.Reflection; 23 | using System.Runtime.CompilerServices; 24 | using System.Runtime.InteropServices; 25 | 26 | [assembly: AssemblyTitle("cai-nav-u3d-editor")] 27 | [assembly: AssemblyDescription("Pathfinding and obstacle avoidance extensions for the Unity Editor.")] 28 | [assembly: AssemblyConfiguration("")] 29 | [assembly: AssemblyCompany("critterai.org")] 30 | [assembly: AssemblyProduct("CAINav")] 31 | [assembly: AssemblyCopyright("Copyright © Stephen Pratt 2011-2012")] 32 | [assembly: AssemblyTrademark("")] 33 | [assembly: AssemblyCulture("")] 34 | 35 | [assembly: ComVisible(false)] 36 | 37 | [assembly: AssemblyVersion("0.4.0.0")] 38 | [assembly: AssemblyFileVersion("0.4.0.0")] 39 | -------------------------------------------------------------------------------- /sources/build/assemblyInfo/cai-nav-u3d.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | using System.Reflection; 23 | using System.Runtime.CompilerServices; 24 | using System.Runtime.InteropServices; 25 | 26 | [assembly: AssemblyTitle("cai-nav-u3d")] 27 | [assembly: AssemblyDescription("Pathfinding and obstacle avoidance extensions for Unity.")] 28 | [assembly: AssemblyConfiguration("")] 29 | [assembly: AssemblyCompany("critterai.org")] 30 | [assembly: AssemblyProduct("CAINav")] 31 | [assembly: AssemblyCopyright("Copyright © Stephen Pratt 2011-2012")] 32 | [assembly: AssemblyTrademark("")] 33 | [assembly: AssemblyCulture("")] 34 | 35 | [assembly: ComVisible(false)] 36 | 37 | [assembly: AssemblyVersion("0.4.0.0")] 38 | [assembly: AssemblyFileVersion("0.4.0.0")] 39 | -------------------------------------------------------------------------------- /sources/build/assemblyInfo/cai-nav.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | using System.Reflection; 23 | using System.Runtime.CompilerServices; 24 | using System.Runtime.InteropServices; 25 | 26 | [assembly: AssemblyTitle("cai-nav")] 27 | [assembly: AssemblyDescription("Core pathfinding and obstacle avoidance features.")] 28 | [assembly: AssemblyConfiguration("")] 29 | [assembly: AssemblyCompany("critterai.org")] 30 | [assembly: AssemblyProduct("CAINav")] 31 | [assembly: AssemblyCopyright("Copyright © Stephen Pratt 2011-2012")] 32 | [assembly: AssemblyTrademark("")] 33 | [assembly: AssemblyCulture("")] 34 | 35 | [assembly: ComVisible(false)] 36 | 37 | [assembly: AssemblyVersion("0.4.0.0")] 38 | [assembly: AssemblyFileVersion("0.4.0.0")] 39 | -------------------------------------------------------------------------------- /sources/build/assemblyInfo/cai-nmbuild-extras-u3d-editor.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | using System.Reflection; 23 | using System.Runtime.CompilerServices; 24 | using System.Runtime.InteropServices; 25 | 26 | [assembly: AssemblyTitle("cai-nmbuild")] 27 | [assembly: AssemblyDescription( 28 | "Scene related navigation mesh build extensions for the Unity Editor.")] 29 | [assembly: AssemblyConfiguration("")] 30 | [assembly: AssemblyCompany("critterai.org")] 31 | [assembly: AssemblyProduct("CAINav")] 32 | [assembly: AssemblyCopyright("Copyright © Stephen Pratt 2012")] 33 | [assembly: AssemblyTrademark("")] 34 | [assembly: AssemblyCulture("")] 35 | 36 | [assembly: ComVisible(false)] 37 | 38 | [assembly: AssemblyVersion("0.4.0.0")] 39 | [assembly: AssemblyFileVersion("0.4.0.0")] 40 | -------------------------------------------------------------------------------- /sources/build/assemblyInfo/cai-nmbuild-extras-u3d.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | using System.Reflection; 23 | using System.Runtime.CompilerServices; 24 | using System.Runtime.InteropServices; 25 | 26 | [assembly: AssemblyTitle("cai-nmbuild-extras-u3d")] 27 | [assembly: AssemblyDescription("Scene related navigation mesh build extensions for Unity.")] 28 | [assembly: AssemblyConfiguration("")] 29 | [assembly: AssemblyCompany("critterai.org")] 30 | [assembly: AssemblyProduct("CAINav")] 31 | [assembly: AssemblyCopyright("Copyright © Stephen Pratt 2012")] 32 | [assembly: AssemblyTrademark("")] 33 | [assembly: AssemblyCulture("")] 34 | 35 | [assembly: ComVisible(false)] 36 | 37 | [assembly: AssemblyVersion("0.4.0.0")] 38 | [assembly: AssemblyFileVersion("0.4.0.0")] 39 | -------------------------------------------------------------------------------- /sources/build/assemblyInfo/cai-nmbuild-u3d-editor.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | using System.Reflection; 23 | using System.Runtime.CompilerServices; 24 | using System.Runtime.InteropServices; 25 | 26 | [assembly: AssemblyTitle("cai-nmbuild-u3d-editor")] 27 | [assembly: AssemblyDescription("Design-time navigation mesh build extensions for the Unity Editor.")] 28 | [assembly: AssemblyConfiguration("")] 29 | [assembly: AssemblyCompany("critterai.org")] 30 | [assembly: AssemblyProduct("CAINav")] 31 | [assembly: AssemblyCopyright("Copyright © Stephen Pratt 2012")] 32 | [assembly: AssemblyTrademark("")] 33 | [assembly: AssemblyCulture("")] 34 | 35 | [assembly: ComVisible(false)] 36 | 37 | [assembly: AssemblyVersion("0.4.0.0")] 38 | [assembly: AssemblyFileVersion("0.4.0.0")] 39 | -------------------------------------------------------------------------------- /sources/build/assemblyInfo/cai-nmbuild.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | using System.Reflection; 23 | using System.Runtime.CompilerServices; 24 | using System.Runtime.InteropServices; 25 | 26 | [assembly: AssemblyTitle("cai-nmbuild")] 27 | [assembly: AssemblyDescription("Design-time navigation mesh build extensions.")] 28 | [assembly: AssemblyConfiguration("")] 29 | [assembly: AssemblyCompany("critterai.org")] 30 | [assembly: AssemblyProduct("CAINav")] 31 | [assembly: AssemblyCopyright("Copyright © Stephen Pratt 2012")] 32 | [assembly: AssemblyTrademark("")] 33 | [assembly: AssemblyCulture("")] 34 | 35 | [assembly: ComVisible(false)] 36 | 37 | [assembly: AssemblyVersion("0.4.0.0")] 38 | [assembly: AssemblyFileVersion("0.4.0.0")] 39 | -------------------------------------------------------------------------------- /sources/build/assemblyInfo/cai-nmgen.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | using System.Reflection; 23 | using System.Runtime.CompilerServices; 24 | using System.Runtime.InteropServices; 25 | 26 | [assembly: AssemblyTitle("cai-nmgen")] 27 | [assembly: AssemblyDescription("Core navigation mesh generation features.")] 28 | [assembly: AssemblyConfiguration("")] 29 | [assembly: AssemblyCompany("critterai.org")] 30 | [assembly: AssemblyProduct("CAINav")] 31 | [assembly: AssemblyCopyright("Copyright © Stephen Pratt 2010-2012")] 32 | [assembly: AssemblyTrademark("")] 33 | [assembly: AssemblyCulture("")] 34 | 35 | [assembly: ComVisible(false)] 36 | 37 | [assembly: AssemblyVersion("0.4.0.0")] 38 | [assembly: AssemblyFileVersion("0.4.0.0")] 39 | -------------------------------------------------------------------------------- /sources/build/assemblyInfo/cai-util-u3d-editor.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | using System.Reflection; 23 | using System.Runtime.CompilerServices; 24 | using System.Runtime.InteropServices; 25 | 26 | [assembly: AssemblyTitle("cai-util-u3d-editor")] 27 | [assembly: AssemblyDescription("Shared editor utilities for CAI Unity products.")] 28 | [assembly: AssemblyConfiguration("")] 29 | [assembly: AssemblyCompany("critterai.org")] 30 | [assembly: AssemblyProduct("CAI")] 31 | [assembly: AssemblyCopyright("Copyright © Stephen Pratt 2012")] 32 | [assembly: AssemblyTrademark("")] 33 | [assembly: AssemblyCulture("")] 34 | 35 | [assembly: ComVisible(false)] 36 | 37 | [assembly: AssemblyVersion("0.5.0.0")] 38 | [assembly: AssemblyFileVersion("0.5.0.0")] 39 | -------------------------------------------------------------------------------- /sources/build/assemblyInfo/cai-util-u3d.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | using System.Reflection; 23 | using System.Runtime.CompilerServices; 24 | using System.Runtime.InteropServices; 25 | 26 | [assembly: AssemblyTitle("cai-util-u3d")] 27 | [assembly: AssemblyDescription("Shared utilities for CAI Unity products.")] 28 | [assembly: AssemblyConfiguration("")] 29 | [assembly: AssemblyCompany("critterai.org")] 30 | [assembly: AssemblyProduct("CAI")] 31 | [assembly: AssemblyCopyright("Copyright © Stephen Pratt 2010-2012")] 32 | [assembly: AssemblyTrademark("")] 33 | [assembly: AssemblyCulture("")] 34 | 35 | [assembly: ComVisible(false)] 36 | 37 | [assembly: AssemblyVersion("0.5.0.0")] 38 | [assembly: AssemblyFileVersion("0.5.0.0")] 39 | -------------------------------------------------------------------------------- /sources/build/assemblyInfo/cai-util.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | using System.Reflection; 23 | using System.Runtime.CompilerServices; 24 | using System.Runtime.InteropServices; 25 | 26 | [assembly: AssemblyTitle("cai-util")] 27 | [assembly: AssemblyDescription("Shared utilities for CAI products.")] 28 | [assembly: AssemblyConfiguration("")] 29 | [assembly: AssemblyCompany("critterai.org")] 30 | [assembly: AssemblyProduct("CAI")] 31 | [assembly: AssemblyCopyright("Copyright © Stephen Pratt 2010-2012")] 32 | [assembly: AssemblyTrademark("")] 33 | [assembly: AssemblyCulture("")] 34 | 35 | [assembly: ComVisible(false)] 36 | 37 | [assembly: AssemblyVersion("0.5.0.0")] 38 | [assembly: AssemblyFileVersion("0.5.0.0")] 39 | -------------------------------------------------------------------------------- /sources/build/misc/LCOPY.TXT: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010-2011 Stephen A. Pratt 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. -------------------------------------------------------------------------------- /sources/build/misc/RCOPY.TXT: -------------------------------------------------------------------------------- 1 | This distribution contians libraries and documentation for a CritterAI project. 2 | 3 | CritterAI Home: http://www.critterai.org/ 4 | CritterAI Code: http://code.google.com/p/critterai/ 5 | License: http://www.critterai.org/cailic 6 | -------------------------------------------------------------------------------- /sources/build/src/main/Assets/CAI/nav/CrowdNeighbor.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2011 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | using System.Runtime.InteropServices; 23 | 24 | namespace org.critterai.nav 25 | { 26 | /// 27 | /// Provides neighbor data for agents managed by a crowd manager. 28 | /// (See: ) 29 | /// 30 | /// 31 | /// 32 | [StructLayout(LayoutKind.Sequential)] 33 | public struct CrowdNeighbor 34 | { 35 | /// 36 | /// The maximum number of agent neighbors. 37 | /// 38 | /// 39 | /// 40 | /// Used to size buffers of this structure. 41 | /// 42 | /// 43 | public const int MaxNeighbors = 6; 44 | 45 | /// 46 | /// The index of the neighbor. (In the agent buffer.) 47 | /// 48 | public int index; 49 | 50 | /// 51 | /// The distance to the neighbor. 52 | /// 53 | public float distance; 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /sources/build/src/main/Assets/CAI/nav/NavmeshBVNode.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2011 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | using System.Runtime.InteropServices; 23 | 24 | namespace org.critterai.nav 25 | { 26 | /// 27 | /// Bounding volumn node. 28 | /// 29 | [StructLayout(LayoutKind.Sequential)] 30 | public struct NavmeshBVNode 31 | { 32 | /// 33 | /// Minimimum bounds of the node's AABB. [(x, y, z)] 34 | /// 35 | [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] 36 | public ushort[] boundsMin; 37 | 38 | /// 39 | /// Maximum bounds of the node's AABB. [(x, y, z)] 40 | /// 41 | [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] 42 | public ushort[] boundsMax; 43 | 44 | /// 45 | /// The node's index. (Negative for escape indices.) 46 | /// 47 | public int i; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /sources/build/src/main/Assets/CAI/nav/NavmeshDetailMesh.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2011 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | using System.Runtime.InteropServices; 23 | 24 | namespace org.critterai.nav 25 | { 26 | /// 27 | /// The header data for a polygon's detail mesh in a . 28 | /// 29 | /// 30 | /// 31 | /// All indices refer to the vertex and triangle data in the associated 32 | /// . 33 | /// 34 | /// 35 | [StructLayout(LayoutKind.Sequential)] 36 | public struct NavmeshDetailMesh 37 | { 38 | /// 39 | /// The index of the base vertex for the detail mesh. 40 | /// 41 | public uint vertBase; 42 | 43 | /// 44 | /// The index of the base triangle for the detail mesh. 45 | /// 46 | public uint triBase; 47 | 48 | /// 49 | /// The number of vertices in the detail mesh. 50 | /// 51 | public byte vertCount; 52 | 53 | /// 54 | /// The number of triangles in the detail mesh. 55 | /// 56 | public byte triCount; 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /sources/build/src/main/Assets/CAI/nav/NavmeshPolyType.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2011 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | using System; 23 | using System.Collections.Generic; 24 | using System.Text; 25 | 26 | namespace org.critterai.nav 27 | { 28 | /// 29 | /// Navigation mesh polygon type. 30 | /// 31 | public enum NavmeshPolyType 32 | { 33 | /// 34 | /// The polygon is a standard convex polygon that is part of the surface of the navigation 35 | /// mesh. 36 | /// 37 | Standard = 0, 38 | 39 | /// 40 | /// The polygon is an off-mesh connection. 41 | /// 42 | OffMeshConnection = 1 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /sources/build/src/main/Assets/CAI/nav/NavmeshTileExtract.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | using System; 23 | 24 | namespace org.critterai.nav 25 | { 26 | /// 27 | /// Represents tile data extracted from a object. 28 | /// 29 | /// 30 | public struct NavmeshTileExtract 31 | { 32 | /// 33 | /// The tile header. 34 | /// 35 | public NavmeshTileHeader header; 36 | 37 | /// 38 | /// The packed tile data. 39 | /// 40 | public byte[] data; 41 | 42 | /// 43 | /// The tile reference in the original mesh. 44 | /// 45 | public uint tileRef; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /sources/build/src/main/Assets/CAI/nav/WaypointFlag.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2011 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | namespace org.critterai.nav 24 | { 25 | /// 26 | /// Flags for path related waypoints. 27 | /// 28 | [System.Flags] 29 | public enum WaypointFlag : byte 30 | { 31 | /// 32 | /// The point is the start point in the path. 33 | /// 34 | Start = 0x01, 35 | 36 | /// 37 | /// The point is the end point in the path. 38 | /// 39 | End = 0x02, 40 | 41 | /// 42 | /// The point is the start of an off-mesh connection. 43 | /// 44 | /// 45 | /// 46 | /// This flag is useful in detecting when special locomotion handling needs to occur. 47 | /// 48 | /// 49 | OffMesh = 0x04 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /sources/build/src/main/Assets/CAI/nmbuild-extras-u3d/NMGenAreaMarker.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | using UnityEngine; 23 | using org.critterai; 24 | 25 | /// 26 | /// Provides data used to assign an area during an NMGen build. 27 | /// 28 | public abstract class NMGenAreaMarker 29 | : NMGenComponent, IPriorityItem 30 | { 31 | [SerializeField] 32 | private byte mArea = MaxArea; 33 | 34 | [SerializeField] 35 | private int mPriority = 100; 36 | 37 | /// 38 | /// The priority of the marker. 39 | /// 40 | public int Priority 41 | { 42 | get { return mPriority; } 43 | set { mPriority = Mathf.Max(ushort.MinValue, Mathf.Min(ushort.MaxValue, value)); } 44 | } 45 | 46 | /// 47 | /// The area to assign. 48 | /// 49 | public byte Area 50 | { 51 | get { return mArea; } 52 | set { mArea = ClampArea(value); } 53 | } 54 | 55 | /// 56 | /// The area to assign. (Integer version.) 57 | /// 58 | public int AreaInt 59 | { 60 | get { return mArea; } 61 | set { mArea = ClampArea(value); } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /sources/build/src/main/Assets/CAI/nmbuild-extras-u3d/editor/NMGenComponentEditor.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | using org.critterai.u3d.editor; 23 | using UnityEditor; 24 | 25 | /// 26 | /// Base editor for objects. 27 | /// 28 | /// 29 | public class NMGenComponentEditor 30 | : Editor 31 | { 32 | /// 33 | /// Run when the editor is disabled. (Goes out of scope.) 34 | /// 35 | protected virtual void OnDisable() 36 | { 37 | if (target) 38 | ((NMGenComponent)target).debugEnabledLocal = false; 39 | } 40 | 41 | /// 42 | /// Toggles the debug visualizations for all objects. 43 | /// 44 | [MenuItem(EditorUtil.ViewMenu + "Toggle NMGen Extras", false, EditorUtil.ViewGroup)] 45 | public static void ToggleDebugView() 46 | { 47 | NMGenComponent.debugEnabled = !NMGenComponent.debugEnabled; 48 | SceneView.RepaintAll(); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /sources/build/src/main/Assets/CAI/nmbuild-u3d/Editor/NavmeshBuildDelegate.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | namespace org.critterai.nmbuild.u3d.editor 24 | { 25 | internal delegate void BuildDelegate(NavmeshBuild build); 26 | } 27 | -------------------------------------------------------------------------------- /sources/build/src/main/Assets/CAI/nmbuild-u3d/Editor/NavmeshBuildType.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | namespace org.critterai.nmbuild.u3d.editor 24 | { 25 | /// 26 | /// The build type to use for a asset. 27 | /// 28 | internal enum NavmeshBuildType 29 | { 30 | /// 31 | /// Standard foreground build. 32 | /// 33 | Standard = 0, 34 | 35 | /// 36 | /// Advanced build using the . 37 | /// 38 | Advanced, 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /sources/build/src/main/Assets/CAI/nmbuild-u3d/Editor/TileBuildState.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | namespace org.critterai.nmbuild.u3d.editor 24 | { 25 | internal enum TileBuildState 26 | { 27 | /// 28 | /// Tile has no state. (Not built, not baked, not queued for build.) 29 | /// 30 | NotBuilt = 0, 31 | 32 | /// 33 | /// Tile is in the build queue. 34 | /// 35 | Queued, 36 | 37 | /// 38 | /// The build is underway. 39 | /// 40 | InProgress, 41 | 42 | /// 43 | /// Working tile has been created. (Ready for baking.) 44 | /// 45 | Built, 46 | 47 | /// 48 | /// There is no tile at this location. (Build did not produce a result.) 49 | /// 50 | Empty, 51 | 52 | /// 53 | /// The tile has been baked. (Exists in the navmesh.) 54 | /// 55 | Baked, 56 | 57 | /// 58 | /// An error occured during the build. 59 | /// 60 | Error 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /sources/build/src/main/Assets/CAI/nmbuild/Editor/BuildTaskState.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | namespace org.critterai.nmbuild 24 | { 25 | /// 26 | /// The state of a build task. 27 | /// 28 | public enum BuildTaskState : byte 29 | { 30 | /// 31 | /// The task has been created but not run. 32 | /// 33 | Inactive = 0, 34 | 35 | /// 36 | /// The task is running. 37 | /// 38 | InProgress, 39 | 40 | /// 41 | /// The task is in the process or aborting. 42 | /// 43 | Aborting, 44 | 45 | /// 46 | /// The task completed successfully. (A finished state.) 47 | /// 48 | Complete, 49 | 50 | /// 51 | /// The task was aborted due to an abort request or error. (A finished state.) 52 | /// 53 | Aborted, 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /sources/build/src/main/Assets/CAI/nmbuild/Editor/NMGenAssetFlag.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | using org.critterai.nmgen; 23 | 24 | namespace org.critterai.nmbuild 25 | { 26 | /// 27 | /// Asset types created during the NMGen build process. 28 | /// 29 | [System.Flags] 30 | public enum NMGenAssetFlag 31 | { 32 | /// 33 | /// The intermediate asset. 34 | /// 35 | Heightfield = 0x01, 36 | 37 | /// 38 | /// The intermediate asset. 39 | /// 40 | CompactField = 0x02, 41 | 42 | /// 43 | /// The intermediate asset. 44 | /// 45 | ContourSet = 0x04, 46 | 47 | /// 48 | /// The final asset. 49 | /// 50 | PolyMesh = 0x08, 51 | 52 | /// 53 | /// The final asset. 54 | /// 55 | DetailMesh = 0x10 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /sources/build/src/main/Assets/CAI/nmgen/Editor/CompactCell.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2011 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | using System.Runtime.InteropServices; 23 | 24 | namespace org.critterai.nmgen 25 | { 26 | /// 27 | /// Provides information on the content of a cell column in a 28 | /// object. 29 | /// 30 | /// 31 | /// 32 | /// Useful instances of this type can only by obtained from a 33 | /// object. 34 | /// 35 | /// 36 | [StructLayout(LayoutKind.Sequential)] 37 | public struct CompactCell 38 | { 39 | private uint mPacked; 40 | 41 | /// 42 | /// The index of the first (lowest) in the cell column. 43 | /// 44 | public uint Index { get { return (mPacked & 0xffffff); } } 45 | 46 | /// 47 | /// The number of spans in the cell column. 48 | /// 49 | public uint Count { get { return (mPacked >> 24); } } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /sources/build/src/main/Assets/CAI/nmgen/Editor/ContourBuildFlags.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2011 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | namespace org.critterai.nmgen 24 | { 25 | /// 26 | /// Flags used to control the contour build process. 27 | /// 28 | /// 29 | [System.Flags] 30 | public enum ContourBuildFlags 31 | { 32 | /// 33 | /// Tessellate the wall (unconnected border) edges. 34 | /// 35 | TessellateWallEdges = 0x01, 36 | 37 | /// 38 | /// Tessellate the edges between areas. 39 | /// 40 | TessellateAreaEdges = 0x02 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /sources/build/src/main/Assets/CAI/nmgen/Editor/ContourFlags.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2011 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | namespace org.critterai.nmgen 24 | { 25 | /// 26 | /// Contour vertex flags. (Applied to the forth element of the vertices arrays.) 27 | /// 28 | /// 29 | /// 30 | /// Contour vertices take the form (x, y, z, r). The r-value can contain these flags. 31 | /// 32 | /// 33 | [System.Flags] 34 | public enum ContourFlags 35 | { 36 | /// 37 | /// The vertex is the start of a border edge. 38 | /// 39 | BorderVertex = 0x10000, 40 | 41 | /// 42 | /// The vertex is the start of an edge that forms a boundary between areas. 43 | /// 44 | AreaBorder = 0x20000 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /sources/build/src/main/Assets/CAI/util/IPriorityItem.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | namespace org.critterai 23 | { 24 | /// 25 | /// Represents a generic prioritized item. 26 | /// 27 | public interface IPriorityItem 28 | { 29 | /// 30 | /// The priority of the item. 31 | /// 32 | /// 33 | /// 34 | /// This value is immutable after object construction. 35 | /// 36 | /// 37 | int Priority { get; } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /sources/doc/ReadMe.txt: -------------------------------------------------------------------------------- 1 | This directory contains the documentation source and build 2 | artifacts. 3 | 4 | Sandcastle is used for the documentation build. 5 | 6 | The following tools are required: 7 | 8 | Sandcastle: http://sandcastle.codeplex.com/ 9 | Sandcastle Help File Builder: http://shfb.codeplex.com/ 10 | 11 | Sandcastle Styles Patch 12 | 13 | http://sandcastlestyles.codeplex.com/ - Home Page 14 | http://sandcastlestyles.codeplex.com/releases/view/47767 - Patch Used 15 | -------------------------------------------------------------------------------- /sources/doc/cainav/images/CAINavDependencies.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/CAINavDependencies.png -------------------------------------------------------------------------------- /sources/doc/cainav/images/Explorer-StraightPath.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/Explorer-StraightPath.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/Explorer-StraightPath.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/Explorer-StraightPath.psd -------------------------------------------------------------------------------- /sources/doc/cainav/images/Explorer-StraightPathLg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/Explorer-StraightPathLg.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/HighLevelComponents.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/HighLevelComponents.png -------------------------------------------------------------------------------- /sources/doc/cainav/images/WrapDirection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/WrapDirection.png -------------------------------------------------------------------------------- /sources/doc/cainav/images/nav/CAINavSettings.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nav/CAINavSettings.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nav/CAINavSettings.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nav/CAINavSettings.psd -------------------------------------------------------------------------------- /sources/doc/cainav/images/nav/NavManager-Options.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nav/NavManager-Options.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nav/NavManager-Options.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nav/NavManager-Options.psd -------------------------------------------------------------------------------- /sources/doc/cainav/images/nav/NavManager-Structure.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nav/NavManager-Structure.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nav/NavManager-Structure.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nav/NavManager-Structure.psd -------------------------------------------------------------------------------- /sources/doc/cainav/images/nav/OffMeshConnection.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nav/OffMeshConnection.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nav/OffMeshConnection.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nav/OffMeshConnection.psd -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/ConservativeVoxelization.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/ConservativeVoxelization.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/ConservativeVoxelization.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/ConservativeVoxelization.png -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/Heightfield-BasicBox.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/Heightfield-BasicBox.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/Heightfield-Columns.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/Heightfield-Columns.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/Heightfield-Open.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/Heightfield-Open.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/Heightfield-Solid.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/Heightfield-Solid.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/Heightfield-SolidSpan.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/Heightfield-SolidSpan.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/Heightfield-VoxelColumn.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/Heightfield-VoxelColumn.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/Heightfield-VoxelGrid.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/Heightfield-VoxelGrid.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/NMGenBuildStandard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/NMGenBuildStandard.png -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/NavmeshBuild-Standard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/NavmeshBuild-Standard.png -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/NavmeshBuild-UnityMainAssets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/NavmeshBuild-UnityMainAssets.png -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/PolyMesh-Basic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/PolyMesh-Basic.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/PolyMesh-Basic.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/PolyMesh-Basic.psd -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/PolyMeshDetail-Basic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/PolyMeshDetail-Basic.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/PolyMeshDetail-Basic.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/PolyMeshDetail-Basic.psd -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/Stage-DetailMesh.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/Stage-DetailMesh.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/Stage-DetailMesh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/Stage-DetailMesh.png -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/Stage-OpenHeightfield.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/Stage-OpenHeightfield.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/Stage-OpenHeightfield.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/Stage-OpenHeightfield.png -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/Stage-PolyMesh.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/Stage-PolyMesh.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/Stage-PolyMesh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/Stage-PolyMesh.png -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/Stage-RawContour.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/Stage-RawContour.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/Stage-RawContour.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/Stage-RawContour.png -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/Stage-Regions.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/Stage-Regions.gif -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/Stage-Regions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/Stage-Regions.png -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/Stage-SimplifiedContour.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/Stage-SimplifiedContour.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/Stage-SimplifiedContour.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/Stage-SimplifiedContour.png -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/UnityInputBuildProcess.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/UnityInputBuildProcess.png -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/Value-MinRegionArea.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/Value-MinRegionArea.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/Value-MinRegionArea.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/Value-MinRegionArea.psd -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/Value-WaklableStep.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/Value-WaklableStep.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/Value-WaklableStep.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/Value-WaklableStep.psd -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/Value-WalkableHeight.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/Value-WalkableHeight.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/Value-WalkableHeight.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/Value-WalkableHeight.psd -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/Value-WalkableRadius.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/Value-WalkableRadius.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/Value-WalkableRadius.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/Value-WalkableRadius.psd -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/examples/AdvancedBuild-Builder.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/examples/AdvancedBuild-Builder.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/examples/AdvancedBuild-Builder.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/examples/AdvancedBuild-Builder.psd -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/examples/AdvancedBuild-Config.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/examples/AdvancedBuild-Config.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/examples/AdvancedBuild-Config.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/examples/AdvancedBuild-Config.psd -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/examples/AdvancedBuild-Input.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/examples/AdvancedBuild-Input.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/examples/AdvancedBuild-Input.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/examples/AdvancedBuild-Input.psd -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/examples/AssignGeometrySource.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/examples/AssignGeometrySource.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/examples/AssignGeometrySource.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/examples/AssignGeometrySource.psd -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/examples/FinalMesh-Lg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/examples/FinalMesh-Lg.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/examples/FinalMesh.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/examples/FinalMesh.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/examples/FinalMesh.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/examples/FinalMesh.psd -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/examples/InteriorEnvironment-Lg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/examples/InteriorEnvironment-Lg.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/examples/InteriorEnvironment.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/examples/InteriorEnvironment.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/examples/InteriorEnvironment.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/examples/InteriorEnvironment.psd -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/examples/NavmeshBuildConfig.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/examples/NavmeshBuildConfig.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/examples/NavmeshBuildConfig.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/examples/NavmeshBuildConfig.psd -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/examples/NavmeshBuildInput.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/examples/NavmeshBuildInput.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/examples/NavmeshBuildInput.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/examples/NavmeshBuildInput.psd -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/examples/NavmeshBuildInspector.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/examples/NavmeshBuildInspector.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/examples/NavmeshBuildInspector.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/examples/NavmeshBuildInspector.psd -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/examples/NavmeshBuildUpper.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/examples/NavmeshBuildUpper.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/examples/NavmeshBuildUpper.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/examples/NavmeshBuildUpper.psd -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/examples/OverlappingAreaMarkers.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/examples/OverlappingAreaMarkers.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/examples/OverlappingAreaMarkers.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/examples/OverlappingAreaMarkers.psd -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/examples/SetNMGenConfig.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/examples/SetNMGenConfig.jpg -------------------------------------------------------------------------------- /sources/doc/cainav/images/nmgen/examples/SetNMGenConfig.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/doc/cainav/images/nmgen/examples/SetNMGenConfig.psd -------------------------------------------------------------------------------- /sources/kbe_changed.txt: -------------------------------------------------------------------------------- 1 | sources\src\main\Assets\CAI\nav-u3d\Editor\CAIBakedNavmeshEditor.cs 2 | private static void SaveMesh(CAIBakedNavmesh targ, string filePath): 3 | fs = new FileStream(filePath, FileMode.Open); 4 | 5 | System.Object obj = formatter.Deserialize(fs); 6 | byte[] datas = (byte[])obj; 7 | 8 | string fileNameWithoutExtension = System.IO.Path.GetFileNameWithoutExtension(filePath); 9 | filePath = filePath.Replace(fileNameWithoutExtension + ".", "srv_" + fileNameWithoutExtension + "."); 10 | FileStream fs1 = new FileStream(filePath, FileMode.Create, FileAccess.Write); 11 | fs1.Write(datas, 0, datas.Length); 12 | fs1.Close(); 13 | fs.Close(); -------------------------------------------------------------------------------- /sources/legacy/lib/README.txt: -------------------------------------------------------------------------------- 1 | This directory contains shared project libraries. 2 | 3 | Compiled project libraries are not normally stored in 4 | the repository. An exception is made when a library is 5 | meant to be shared between projects. In such cases the 6 | compiled library is placed here so that it is available for 7 | dependant project builds and packaging. 8 | 9 | (The use of this directory is depreciated. New projects usually include 10 | a direct reference to the shared library source.) 11 | -------------------------------------------------------------------------------- /sources/legacy/lib/java/LICENSE.txt: -------------------------------------------------------------------------------- 1 | The files in this directory are governed by their own individual licenses. 2 | -------------------------------------------------------------------------------- /sources/legacy/lib/java/cai-util-0.1.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/legacy/lib/java/cai-util-0.1.1.jar -------------------------------------------------------------------------------- /sources/legacy/lib/java/junit-4.7.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/legacy/lib/java/junit-4.7.jar -------------------------------------------------------------------------------- /sources/legacy/nmgen-study/build.properties: -------------------------------------------------------------------------------- 1 | version=snapshot 2 | project.name=cai-nmgen 3 | project.fullname=${project.name}-${version} 4 | 5 | lib.dir=../../lib/java 6 | misc.resources.dir=../../misc 7 | 8 | src.dir=src 9 | 10 | local.misc.dir=misc 11 | dist.scm.dir=${lib.dir} 12 | 13 | test.src.dir=test 14 | test.classes.dir=${build.dir}/test 15 | 16 | build.dir=build 17 | classes.dir=${build.dir}/classes 18 | dist.dir=${build.dir}/dist 19 | doc.dir=${build.dir}/docs -------------------------------------------------------------------------------- /sources/legacy/nmgen-study/misc/CHANGES.txt: -------------------------------------------------------------------------------- 1 | >>>>>> NMGen-0.2.0 <<<<<< 2 | 3 | Includes breaking API changes. 4 | 5 | Improved robustness when dealing with extreme configuration settings. 6 | (Including bug fixes and changes to algorithms.) 7 | 8 | Improved robustness when dealing with outdoor/uneven terrain. 9 | (Including bug fixes and changes to algorithms.) 10 | 11 | Resolved issue 4: Contour Generation Fails Due to Unexpected Internal Null 12 | Region 13 | 14 | Resolved issue 5: Seams Form Between Triangles within a Region 15 | 16 | The smoothingThreshold parameter is now restricted to 0 <= value <= 4. 17 | 18 | The maxTraversableSlope parameter is now restricted to 0 <= value <= 85. 19 | 20 | Merged LogResults functionality into the IntermediateData class. 21 | 22 | New class: CleanNullRegionBorders 23 | 24 | Merged the functionality from the CleanNullRegionCorners class into the 25 | cleanNullRegionBorders class. 26 | 27 | Retired the BaseHeightfield class. 28 | 29 | Retired the IHeightfieldIterator interface. 30 | 31 | General code reformatting: Cleaned white space, sorted class members, 32 | reformatted all files to 80 character width. 33 | 34 | >>>>>> NMGen-0.1.2 <<<<<< 35 | 36 | Initial full release. -------------------------------------------------------------------------------- /sources/legacy/nmgen-study/misc/README.txt: -------------------------------------------------------------------------------- 1 | This package contains a study version of NMGen. NMGen is an adaptation 2 | in Java of Recast's static mesh functionality for purposes of study 3 | and experimentation. NMGen takes an arbitrary triangle mesh as input 4 | and generates data representing the traversable surface of the source mesh. 5 | 6 | Recast is a C++ navigation mesh construction toolset created by 7 | Mikko Mononen and released under the MIT license. 8 | 9 | NMGen Home: http://code.google.com/p/critterai/ 10 | Study Home: http://www.critterai.org/nmgen 11 | 12 | Recast Home: http://code.google.com/p/recastnavigation/ 13 | -------------------------------------------------------------------------------- /sources/legacy/nmgen-study/src/org/critterai/nmgen/IContourAlgorithm.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | package org.critterai.nmgen; 23 | 24 | import java.util.ArrayList; 25 | 26 | /** 27 | * Provides for the application of an algorithm to a contour. 28 | */ 29 | public interface IContourAlgorithm 30 | { 31 | /** 32 | * Apply an algorithm to a contour. 33 | *

The implementation is permitted to require that the the result 34 | * vertices be seeded with existing data. In this case the argument 35 | * becomes an in/out argument rather than just an out argument.

36 | * @param sourceVerts The source vertices that represent the contour 37 | * in the form (x, y, z, regionID). 38 | * @param resultVerts The contour vertices produced by the operation 39 | * in the form (x, y, z, sourceIndex). 40 | *

Source index is the index (not pointer) of the related source 41 | * vertex in sourcVerts. E.g. If the vertex in resultsList references 42 | * the vertex at position 12 of sourceVerts, then sourceIndex will 43 | * be 3 (12 / 4).

44 | */ 45 | void apply(ArrayList sourceVerts, ArrayList resultVerts); 46 | } 47 | -------------------------------------------------------------------------------- /sources/legacy/nmgen-study/src/org/critterai/nmgen/IOpenHeightFieldAlgorithm.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | package org.critterai.nmgen; 23 | 24 | /** 25 | * Applies an algorithm to an {@link OpenHeightfield} 26 | *

The algorithm may require the field to be in a supported state. 27 | * E.g. The regions must have been generated.

28 | */ 29 | public interface IOpenHeightFieldAlgorithm 30 | { 31 | /** 32 | * Applies the algorithm to the height field. 33 | * @param field The field to apply the algorithm to. 34 | */ 35 | void apply(OpenHeightfield field); 36 | } 37 | -------------------------------------------------------------------------------- /sources/legacy/nmgen-study/src/org/critterai/nmgen/SpanFlags.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | package org.critterai.nmgen; 23 | 24 | /** 25 | * Defines the standard flags used for height field spans. 26 | */ 27 | public final class SpanFlags 28 | { 29 | /** 30 | * The span's upper surface (top or maximum) is considered to be 31 | * traversable. Spans without this flag are considered to be obstructions 32 | * that cannot be walked upon. 33 | */ 34 | public static final byte WALKABLE = 1; 35 | 36 | private SpanFlags() { } 37 | } 38 | -------------------------------------------------------------------------------- /sources/legacy/nmgen-study/src/org/critterai/nmgen/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | /** 23 | Provides data structures and algorithms useful for generating navigation meshes 24 | which represent the traversable surface area of an arbitrary source triangle 25 | mesh. 26 | */ 27 | package org.critterai.nmgen; 28 | -------------------------------------------------------------------------------- /sources/legacy/nmgen-study/test/org/critterai/nmgen/AllTests.java: -------------------------------------------------------------------------------- 1 | package org.critterai.nmgen; 2 | 3 | import org.junit.runner.RunWith; 4 | import org.junit.runners.Suite; 5 | import org.junit.runners.Suite.SuiteClasses; 6 | 7 | /** 8 | * Unit tests for all classes in the org.critterai.nav package. 9 | */ 10 | @RunWith(Suite.class) 11 | @SuiteClasses( {GeometryTests.class 12 | , OpenHeightSpanTests.class 13 | , EncompassedNullRegionTests.class 14 | , NullRegionOuterCornerTipTests.class 15 | , NullRegionShortWrapTests.class 16 | , RemoveIntersectingSegmentTests.class 17 | , RemoveVerticalSegmentTests.class} ) 18 | public final class AllTests { } 19 | -------------------------------------------------------------------------------- /sources/legacy/nmgen-study/test/org/critterai/nmgen/ContourUtil.java: -------------------------------------------------------------------------------- 1 | package org.critterai.nmgen; 2 | 3 | import java.util.ArrayList; 4 | 5 | /** 6 | * Provides utilities useful for Contour tests. 7 | */ 8 | public final class ContourUtil 9 | { 10 | private ContourUtil() { } 11 | 12 | /** 13 | * Shifts the vertices one position higher in the list and 14 | * inserts the last vertex into the first position. 15 | * @param list The contour to shift. (Expecting a stride of 4.) 16 | */ 17 | public static void shiftContour(ArrayList list) 18 | { 19 | int size = list.size(); 20 | 21 | int entry0 = list.get(size-4); 22 | int entry1 = list.get(size-3); 23 | int entry2 = list.get(size-2); 24 | int entry3 = list.get(size-1); 25 | 26 | for (int p = size - 5; p >= 0; p--) 27 | { 28 | list.set(p+4, list.get(p)); 29 | } 30 | 31 | list.set(0, entry0); 32 | list.set(1, entry1); 33 | list.set(2, entry2); 34 | list.set(3, entry3); 35 | 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /sources/legacy/util-java/build.properties: -------------------------------------------------------------------------------- 1 | version=snapshot 2 | project.name=cai-util 3 | project.fullname=${project.name}-${version} 4 | 5 | lib.dir=../../lib/java 6 | misc.resources.dir=../../misc 7 | 8 | src.dir=src 9 | local.misc.dir=misc 10 | test.src.dir=test 11 | dist.scm.dir=${lib.dir} 12 | 13 | build.dir=build 14 | classes.dir=${build.dir}/classes 15 | test.classes.dir=${build.dir}/test 16 | dist.dir=${build.dir}/dist 17 | doc.dir=${build.dir}/docs -------------------------------------------------------------------------------- /sources/legacy/util-java/misc/overview.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CritterAI Utility Library 6 | 7 | 8 | 9 | 10 |

The CritterAI Utilities library provides support functionality for various CritterAI projects.

11 |

Project Home
12 |
Project Source
13 | License

14 | 15 | 16 | -------------------------------------------------------------------------------- /sources/legacy/util-java/src/org/critterai/math/geom/LineRelType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | package org.critterai.math.geom; 23 | 24 | /** 25 | * Specifies the relationship between two lines. 26 | */ 27 | public enum LineRelType 28 | { 29 | 30 | /** 31 | * Lines are parallel and overlap each other. (Share all points.) 32 | */ 33 | COLLINEAR, 34 | 35 | /** 36 | * Lines intersect, but their segments do not. 37 | */ 38 | LINES_INTERSECT, 39 | 40 | /** 41 | * Line segments intersect each other. 42 | */ 43 | SEGMENTS_INTERSECT, 44 | 45 | /** 46 | * Line segment B is crossed by line A. 47 | */ 48 | ALINE_CROSSES_BSEG, 49 | 50 | /** 51 | * Line segment A is crossed by line B. 52 | */ 53 | BLINE_CROSSES_ASEG, 54 | 55 | /** 56 | * Lines are parallel and do NOT overlap each other. (Share no points.) 57 | */ 58 | PARALLEL, 59 | 60 | /** 61 | * Lines do not intersect, but are not parallel. 62 | * (Share no points. Only applicable to 3-dimensional lines.) 63 | */ 64 | SKEW 65 | } 66 | -------------------------------------------------------------------------------- /sources/legacy/util-java/src/org/critterai/math/geom/PointLineRelType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | package org.critterai.math.geom; 23 | 24 | /** 25 | * Specifies the position relationship between a point and a line. 26 | */ 27 | public enum PointLineRelType 28 | { 29 | /** 30 | * The point is on, or very near, the line 31 | */ 32 | ON_LINE, 33 | 34 | /** 35 | * The test point is to the left when looking from point A toward B on the line. 36 | */ 37 | LEFT_SIDE, 38 | 39 | /** 40 | * The test point is to the right when looking from point A toward B on the line. 41 | */ 42 | RIGHT_SIDE 43 | } -------------------------------------------------------------------------------- /sources/legacy/util-java/src/org/critterai/math/geom/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | /** 23 | * Provides various geometry related classes and operations. 24 | *

A high priority is given to performance. In order to achieve the performance goal, the 25 | * following standards have been implemented:

26 | *
    27 | *
  • There is no validation of arguments outside of constructors. 28 | * For example, the 29 | * {@link org.critterai.math.geom.Line2#getRelationship(float, float, float, float, float, float, float, float, org.critterai.math.Vector2)} 30 | * operation does not validate that the {@link org.critterai.math.Vector2} argument is non-null. 31 | * If the argument is null a runtime error will occur.
  • 32 | *
  • All static operations that return an object require the object be passed in as an "out" argument. 33 | * The out object is updated with the result and its reference returned. This reduces the construction 34 | * costs by allowing clients of the class to re-use the out objects for multiple calls.

    35 | *
  • 36 | *
37 | */ 38 | package org.critterai.math.geom; -------------------------------------------------------------------------------- /sources/legacy/util-java/src/org/critterai/math/package-info.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | /** 23 | * Provides various math related classes and operations. 24 | *

A high priority is given to performance. In order to achieve the performance goal, the 25 | * following standards have been implemented:

26 | *
    27 | *
  • There is no validation of arguments outside of constructors. 28 | * For example, the {@link org.critterai.math.Vector2#add(float, float, float, Vector2)} 29 | * operation does not validate that the {@link org.critterai.math.Vector2} argument is non-null. 30 | * If the argument is null a runtime error will occur.
  • 31 | *
  • All static operations that return an object require the object be passed in as an "out" argument. 32 | * The out object is updated with the result and its reference returned. This reduces the construction 33 | * costs by allowing clients of the class to re-use the out objects for multiple calls.

    34 | *
  • 35 | *
36 | */ 37 | package org.critterai.math; -------------------------------------------------------------------------------- /sources/legacy/util-java/test/org/critterai/math/AllTests.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | package org.critterai.math; 23 | 24 | import org.junit.runner.RunWith; 25 | import org.junit.runners.Suite; 26 | import org.junit.runners.Suite.SuiteClasses; 27 | 28 | /** 29 | * Unit tests for all classes in the org.critterai.math package. 30 | */ 31 | @RunWith(Suite.class) 32 | @SuiteClasses( {MathUtilTests.class 33 | , Vector2Tests.class 34 | , Vector3Tests.class}) 35 | public class AllTests { } 36 | -------------------------------------------------------------------------------- /sources/legacy/util-java/test/org/critterai/math/geom/AllTests.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | package org.critterai.math.geom; 23 | 24 | import org.junit.runner.RunWith; 25 | import org.junit.runners.Suite; 26 | import org.junit.runners.Suite.SuiteClasses; 27 | 28 | /** 29 | * All unit tests for classes in the org.critterai.math.geom package. 30 | */ 31 | @RunWith(Suite.class) 32 | @SuiteClasses( {Line2Tests.class 33 | , Triangle2Test.class 34 | , Rectangle2Tests.class 35 | , Polygon3Tests.class 36 | , Triangle3Tests.class} ) 37 | public class AllTests { } 38 | -------------------------------------------------------------------------------- /sources/src/main/Assets/CAI/GlobalAssets/CAINavEditorSettings.asset: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/sources/src/main/Assets/CAI/GlobalAssets/CAINavEditorSettings.asset -------------------------------------------------------------------------------- /sources/src/main/Assets/CAI/GlobalAssets/ReadMe.txt: -------------------------------------------------------------------------------- 1 | This directory contains 'singleton' assets. (One per project.) Various 2 | editors will use the assets in this directory, automatically creating them 3 | if they don't exist. 4 | -------------------------------------------------------------------------------- /sources/src/main/Assets/CAI/nav/CrowdNeighbor.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2011 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | using System.Runtime.InteropServices; 23 | 24 | namespace org.critterai.nav 25 | { 26 | /// 27 | /// Provides neighbor data for agents managed by a crowd manager. 28 | /// (See: ) 29 | /// 30 | /// 31 | /// 32 | [StructLayout(LayoutKind.Sequential)] 33 | public struct CrowdNeighbor 34 | { 35 | /// 36 | /// The maximum number of agent neighbors. 37 | /// 38 | /// 39 | /// 40 | /// Used to size buffers of this structure. 41 | /// 42 | /// 43 | public const int MaxNeighbors = 6; 44 | 45 | /// 46 | /// The index of the neighbor. (In the agent buffer.) 47 | /// 48 | public int index; 49 | 50 | /// 51 | /// The distance to the neighbor. 52 | /// 53 | public float distance; 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /sources/src/main/Assets/CAI/nav/NavmeshBVNode.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2011 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | using System.Runtime.InteropServices; 23 | 24 | namespace org.critterai.nav 25 | { 26 | /// 27 | /// Bounding volumn node. 28 | /// 29 | [StructLayout(LayoutKind.Sequential)] 30 | public struct NavmeshBVNode 31 | { 32 | /// 33 | /// Minimimum bounds of the node's AABB. [(x, y, z)] 34 | /// 35 | [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] 36 | public ushort[] boundsMin; 37 | 38 | /// 39 | /// Maximum bounds of the node's AABB. [(x, y, z)] 40 | /// 41 | [MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)] 42 | public ushort[] boundsMax; 43 | 44 | /// 45 | /// The node's index. (Negative for escape indices.) 46 | /// 47 | public int i; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /sources/src/main/Assets/CAI/nav/NavmeshPolyType.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2011 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | using System; 23 | using System.Collections.Generic; 24 | using System.Text; 25 | 26 | namespace org.critterai.nav 27 | { 28 | /// 29 | /// Navigation mesh polygon type. 30 | /// 31 | public enum NavmeshPolyType 32 | { 33 | /// 34 | /// The polygon is a standard convex polygon that is part of the surface of the navigation 35 | /// mesh. 36 | /// 37 | Standard = 0, 38 | 39 | /// 40 | /// The polygon is an off-mesh connection. 41 | /// 42 | OffMeshConnection = 1 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /sources/src/main/Assets/CAI/nav/NavmeshTileExtract.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | using System; 23 | 24 | namespace org.critterai.nav 25 | { 26 | /// 27 | /// Represents tile data extracted from a object. 28 | /// 29 | /// 30 | public struct NavmeshTileExtract 31 | { 32 | /// 33 | /// The tile header. 34 | /// 35 | public NavmeshTileHeader header; 36 | 37 | /// 38 | /// The packed tile data. 39 | /// 40 | public byte[] data; 41 | 42 | /// 43 | /// The tile reference in the original mesh. 44 | /// 45 | public uint tileRef; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /sources/src/main/Assets/CAI/nav/WaypointFlag.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2011 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | namespace org.critterai.nav 24 | { 25 | /// 26 | /// Flags for path related waypoints. 27 | /// 28 | [System.Flags] 29 | public enum WaypointFlag : byte 30 | { 31 | /// 32 | /// The point is the start point in the path. 33 | /// 34 | Start = 0x01, 35 | 36 | /// 37 | /// The point is the end point in the path. 38 | /// 39 | End = 0x02, 40 | 41 | /// 42 | /// The point is the start of an off-mesh connection. 43 | /// 44 | /// 45 | /// 46 | /// This flag is useful in detecting when special locomotion handling needs to occur. 47 | /// 48 | /// 49 | OffMesh = 0x04 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /sources/src/main/Assets/CAI/nav/rcn/CrowdProximityGridEx.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2011 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | using System; 23 | using System.Runtime.InteropServices; 24 | 25 | namespace org.critterai.nav.rcn 26 | { 27 | internal static class CrowdProximityGridEx 28 | { 29 | /* 30 | * Design note: In order to stay compatible with Unity iOS, all 31 | * extern methods must be unique and match DLL entry point. 32 | * (Can't use EntryPoint.) 33 | */ 34 | 35 | [DllImport(InteropUtil.PLATFORM_DLL)] 36 | public static extern float dtpgGetCellSize(IntPtr grid); 37 | 38 | [DllImport(InteropUtil.PLATFORM_DLL)] 39 | public static extern void dtpgGetBounds(IntPtr grid 40 | , [In, Out] int[] bounds); 41 | 42 | [DllImport(InteropUtil.PLATFORM_DLL)] 43 | public static extern int dtpgGetItemCountAt(IntPtr grid 44 | , int x 45 | , int y); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /sources/src/main/Assets/CAI/nmbuild-extras-u3d/Editor/NMGenComponentEditor.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | using org.critterai.u3d.editor; 23 | using UnityEditor; 24 | 25 | /// 26 | /// Base editor for objects. 27 | /// 28 | /// 29 | public class NMGenComponentEditor 30 | : Editor 31 | { 32 | /// 33 | /// Run when the editor is disabled. (Goes out of scope.) 34 | /// 35 | protected virtual void OnDisable() 36 | { 37 | if (target) 38 | ((NMGenComponent)target).debugEnabledLocal = false; 39 | } 40 | 41 | /// 42 | /// Toggles the debug visualizations for all objects. 43 | /// 44 | [MenuItem(EditorUtil.ViewMenu + "Toggle NMGen Extras", false, EditorUtil.ViewGroup)] 45 | public static void ToggleDebugView() 46 | { 47 | NMGenComponent.debugEnabled = !NMGenComponent.debugEnabled; 48 | SceneView.RepaintAll(); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /sources/src/main/Assets/CAI/nmbuild-u3d/Editor/NavmeshBuildDelegate.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | namespace org.critterai.nmbuild.u3d.editor 24 | { 25 | internal delegate void BuildDelegate(NavmeshBuild build); 26 | } 27 | -------------------------------------------------------------------------------- /sources/src/main/Assets/CAI/nmbuild-u3d/Editor/NavmeshBuildType.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | namespace org.critterai.nmbuild.u3d.editor 24 | { 25 | /// 26 | /// The build type to use for a asset. 27 | /// 28 | internal enum NavmeshBuildType 29 | { 30 | /// 31 | /// Standard foreground build. 32 | /// 33 | Standard = 0, 34 | 35 | /// 36 | /// Advanced build using the . 37 | /// 38 | Advanced, 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /sources/src/main/Assets/CAI/nmbuild-u3d/Editor/controls/IBuildControl.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | namespace org.critterai.nmbuild.u3d.editor 24 | { 25 | internal interface IBuildControl 26 | { 27 | bool IsActive { get; } 28 | bool Enter(ControlContext context, DebugViewContext debug); 29 | void Exit(); 30 | void Update(); 31 | void OnGUI(); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /sources/src/main/Assets/CAI/nmbuild-u3d/Editor/input/InputAssets.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | using org.critterai.geom; 23 | 24 | namespace org.critterai.nmbuild.u3d.editor 25 | { 26 | internal struct InputAssets 27 | { 28 | public InputBuildInfo info; 29 | public TriangleMesh geometry; 30 | public byte[] areas; 31 | public ConnectionSet conns; 32 | public INMGenProcessor[] processors; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /sources/src/main/Assets/CAI/nmbuild-u3d/Editor/input/InputBuildOption.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | namespace org.critterai.nmbuild.u3d.editor 24 | { 25 | /// 26 | /// Input build options. (Editor Only) 27 | /// 28 | [System.Flags] 29 | public enum InputBuildOption 30 | { 31 | /// 32 | /// Only permit objects that are marked as thread-safe. 33 | /// 34 | ThreadSafeOnly = 0x01, 35 | 36 | /// 37 | /// Automatically remove invalid triangles during post-processing. 38 | /// 39 | AutoCleanGeometry = 0x02, 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /sources/src/main/Assets/CAI/nmbuild-u3d/Editor/input/MeshColocationOption.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | namespace org.critterai.nmbuild.u3d.editor 24 | { 25 | /// 26 | /// Mesh colocation options. (Editor Only) 27 | /// 28 | public enum MeshColocationOption 29 | { 30 | /// 31 | /// Always compile the mesh filter. (Ignore colliders.) 32 | /// 33 | MeshFilter, 34 | 35 | /// 36 | /// Compile supported collider, if one exists. (Collider is preferred.) 37 | /// 38 | Collider 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /sources/src/main/Assets/CAI/nmbuild-u3d/Editor/views/MeshDebugOption.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | namespace org.critterai.nmbuild.u3d.editor 24 | { 25 | internal enum MeshDebugOption 26 | { 27 | None = 0, 28 | InputGeometry, 29 | PolyMesh, 30 | Detailmesh, 31 | WorkingMesh, 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /sources/src/main/Assets/CAI/nmbuild-u3d/Editor/views/ViewOption.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | namespace org.critterai.nmbuild.u3d.editor 24 | { 25 | [System.Flags] 26 | internal enum ViewOption : byte 27 | { 28 | Input = 0x01, 29 | Grid = 0x02, 30 | Mesh = 0x04, 31 | Selection = 0x08, 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /sources/src/main/Assets/CAI/nmbuild/Editor/BuildTaskState.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | namespace org.critterai.nmbuild 24 | { 25 | /// 26 | /// The state of a build task. 27 | /// 28 | public enum BuildTaskState : byte 29 | { 30 | /// 31 | /// The task has been created but not run. 32 | /// 33 | Inactive = 0, 34 | 35 | /// 36 | /// The task is running. 37 | /// 38 | InProgress, 39 | 40 | /// 41 | /// The task is in the process or aborting. 42 | /// 43 | Aborting, 44 | 45 | /// 46 | /// The task completed successfully. (A finished state.) 47 | /// 48 | Complete, 49 | 50 | /// 51 | /// The task was aborted due to an abort request or error. (A finished state.) 52 | /// 53 | Aborted, 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /sources/src/main/Assets/CAI/nmbuild/Editor/processors/AreaMarker.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | using System; 23 | using org.critterai.nmgen; 24 | 25 | namespace org.critterai.nmbuild 26 | { 27 | /// 28 | /// The base class for markers that apply an area id during the 29 | /// state of an NMGen build. 30 | /// 31 | public abstract class AreaMarker 32 | : NMGenProcessor 33 | { 34 | private readonly byte mArea; 35 | 36 | /// 37 | /// The area to apply. 38 | /// 39 | public byte Area { get { return mArea; } } 40 | 41 | /// 42 | /// Constructor 43 | /// 44 | /// The processor name. 45 | /// The processor priority. 46 | /// The area to apply. 47 | public AreaMarker(string name, int priority, byte area) 48 | : base(name, priority) 49 | { 50 | mArea = NMGen.ClampArea(area); 51 | } 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /sources/src/main/Assets/CAI/nmgen/Editor/CompactCell.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2011 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | using System.Runtime.InteropServices; 23 | 24 | namespace org.critterai.nmgen 25 | { 26 | /// 27 | /// Provides information on the content of a cell column in a 28 | /// object. 29 | /// 30 | /// 31 | /// 32 | /// Useful instances of this type can only by obtained from a 33 | /// object. 34 | /// 35 | /// 36 | [StructLayout(LayoutKind.Sequential)] 37 | public struct CompactCell 38 | { 39 | private uint mPacked; 40 | 41 | /// 42 | /// The index of the first (lowest) in the cell column. 43 | /// 44 | public uint Index { get { return (mPacked & 0xffffff); } } 45 | 46 | /// 47 | /// The number of spans in the cell column. 48 | /// 49 | public uint Count { get { return (mPacked >> 24); } } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /sources/src/main/Assets/CAI/nmgen/Editor/ContourBuildFlags.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2011 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | namespace org.critterai.nmgen 24 | { 25 | /// 26 | /// Flags used to control the contour build process. 27 | /// 28 | /// 29 | [System.Flags] 30 | public enum ContourBuildFlags 31 | { 32 | /// 33 | /// Tessellate the wall (unconnected border) edges. 34 | /// 35 | TessellateWallEdges = 0x01, 36 | 37 | /// 38 | /// Tessellate the edges between areas. 39 | /// 40 | TessellateAreaEdges = 0x02 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /sources/src/main/Assets/CAI/nmgen/Editor/ContourFlags.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2011 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | namespace org.critterai.nmgen 24 | { 25 | /// 26 | /// Contour vertex flags. (Applied to the forth element of the vertices arrays.) 27 | /// 28 | /// 29 | /// 30 | /// Contour vertices take the form (x, y, z, r). The r-value can contain these flags. 31 | /// 32 | /// 33 | [System.Flags] 34 | public enum ContourFlags 35 | { 36 | /// 37 | /// The vertex is the start of a border edge. 38 | /// 39 | BorderVertex = 0x10000, 40 | 41 | /// 42 | /// The vertex is the start of an edge that forms a boundary between areas. 43 | /// 44 | AreaBorder = 0x20000 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /sources/src/main/Assets/CAI/nmgen/Editor/rcn/HeightfieldLayerSetEx.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2011 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | using System; 23 | using System.Runtime.InteropServices; 24 | 25 | namespace org.critterai.nmgen.rcn 26 | { 27 | internal static class HeightfieldLayserSetEx 28 | { 29 | [DllImport(InteropUtil.PLATFORM_DLL)] 30 | public static extern int nmlsBuildLayers(IntPtr context 31 | , [In] CompactHeightfield chf 32 | , int borderSize 33 | , int walkableHeight 34 | , ref IntPtr layerSet); 35 | 36 | [DllImport(InteropUtil.PLATFORM_DLL)] 37 | public static extern void nmlsFreeLayers(IntPtr lset); 38 | 39 | [DllImport(InteropUtil.PLATFORM_DLL)] 40 | public static extern bool nmlsGetLayer(IntPtr lset 41 | , int index 42 | , [In, Out] HeightfieldLayer layer); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /sources/src/main/Assets/CAI/nmgen/Editor/rcn/NMGenEx.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2011 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | using System; 23 | using System.Runtime.InteropServices; 24 | #if NUNITY 25 | using Vector3 = org.critterai.Vector3; 26 | #else 27 | using Vector3 = UnityEngine.Vector3; 28 | #endif 29 | 30 | namespace org.critterai.nmgen.rcn 31 | { 32 | internal static class NMGenEx 33 | { 34 | [DllImport(InteropUtil.PLATFORM_DLL)] 35 | public static extern void nmgMarkWalkableTriangles(IntPtr ctx 36 | , float walkableSlopeAngle 37 | , [In] Vector3[] verts 38 | , int nv 39 | , [In] int[] tris 40 | , int nt 41 | , [In, Out] byte[] areas); 42 | 43 | [DllImport(InteropUtil.PLATFORM_DLL)] 44 | public static extern void nmgClearUnwalkableTriangles(IntPtr ctx 45 | , float walkableSlopeAngle 46 | , [In] Vector3[] verts 47 | , int nv 48 | , [In] int[] tris 49 | , int nt 50 | , [In, Out] byte[] areas); 51 | 52 | [DllImport(InteropUtil.PLATFORM_DLL)] 53 | public static extern void nmgFreeSerializationData(ref IntPtr data); 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /sources/src/main/Assets/CAI/nmgen/Editor/rcn/NMGenInteropUtil.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2011 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | using System; 23 | using System.Runtime.InteropServices; 24 | 25 | // Note: The file name does not match the element name because Unity 26 | // doesn't support multiple script files with the same name. And the 27 | // entity name exists in multiple namespaces. 28 | 29 | namespace org.critterai.nmgen.rcn 30 | { 31 | internal struct InteropUtil 32 | { 33 | #if UNITY_IPHONE && !UNITY_EDITOR 34 | public const string PLATFORM_DLL = "__Internal"; 35 | #else 36 | public const string PLATFORM_DLL = "cai-nmgen-rcn"; 37 | #endif 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /sources/src/main/Assets/CAI/nmgen/ReadMe.txt: -------------------------------------------------------------------------------- 1 | The NMGen source is located in the editor directory 2 | since it is normally only used in the Unity Editor. 3 | This layout prevents code bloat in the Project build. 4 | 5 | Just move the source to this directory if NMGen is 6 | required at runtime. 7 | 8 | -------------------------------------------------------------------------------- /sources/src/main/Assets/CAI/util/IPriorityItem.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2012 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | namespace org.critterai 23 | { 24 | /// 25 | /// Represents a generic prioritized item. 26 | /// 27 | public interface IPriorityItem 28 | { 29 | /// 30 | /// The priority of the item. 31 | /// 32 | /// 33 | /// 34 | /// This value is immutable after object construction. 35 | /// 36 | /// 37 | int Priority { get; } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /sources/src/main/Assets/CAI/util/geom/PointLineRelType.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | 23 | namespace org.critterai.geom 24 | { 25 | /// 26 | /// Specifies the position relationship between a point and a line. 27 | /// 28 | public enum PointLineRelType : byte 29 | { 30 | /// 31 | /// The reference point is on, or very near, the line 32 | /// 33 | OnLine, 34 | 35 | /// 36 | /// The reference point is to the left when looking from point A toward point B along 37 | /// the line. 38 | /// 39 | LeftSide, 40 | 41 | /// 42 | /// The reference point is to the right when looking from point A toward point B along 43 | /// the line. 44 | /// 45 | RightSide 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /sources/src/main/Assets/Plugins/ReadMe.txt: -------------------------------------------------------------------------------- 1 | Add the following plugins to this directory if you are using it as the basis for 2 | a Unity project: 3 | 4 | cai-nav-rcn.dll 5 | cai-nmgen-rcn.dll 6 | -------------------------------------------------------------------------------- /sources/src/main/ReadMe.txt: -------------------------------------------------------------------------------- 1 | The source code in the 'Assets' directory structure is in the same 2 | layout it should be if deployed directly to a Unity project. 3 | (I.e. The 'Assets/CAI' directory can be dragged and dropped into 4 | a Unity project.) The porject documentation contains some important 5 | notes when using a source distribution. 6 | -------------------------------------------------------------------------------- /sources/src/nav-rcn/Detour/Include/DetourMath.h: -------------------------------------------------------------------------------- 1 | /** 2 | @defgroup detour Detour 3 | 4 | Members in this module are wrappers around the standard math library 5 | */ 6 | 7 | #ifndef DETOURMATH_H 8 | #define DETOURMATH_H 9 | 10 | #include 11 | 12 | inline float dtMathFabsf(float x) { return fabsf(x); } 13 | inline float dtMathSqrtf(float x) { return sqrtf(x); } 14 | inline float dtMathFloorf(float x) { return floorf(x); } 15 | inline float dtMathCeilf(float x) { return ceilf(x); } 16 | inline float dtMathCosf(float x) { return cosf(x); } 17 | inline float dtMathSinf(float x) { return sinf(x); } 18 | inline float dtMathAtan2f(float y, float x) { return atan2f(y, x); } 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /sources/src/nav-rcn/Detour/Source/DetourAlloc.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2009-2010 Mikko Mononen memon@inside.org 3 | // 4 | // This software is provided 'as-is', without any express or implied 5 | // warranty. In no event will the authors be held liable for any damages 6 | // arising from the use of this software. 7 | // Permission is granted to anyone to use this software for any purpose, 8 | // including commercial applications, and to alter it and redistribute it 9 | // freely, subject to the following restrictions: 10 | // 1. The origin of this software must not be misrepresented; you must not 11 | // claim that you wrote the original software. If you use this software 12 | // in a product, an acknowledgment in the product documentation would be 13 | // appreciated but is not required. 14 | // 2. Altered source versions must be plainly marked as such, and must not be 15 | // misrepresented as being the original software. 16 | // 3. This notice may not be removed or altered from any source distribution. 17 | // 18 | 19 | #include 20 | #include "DetourAlloc.h" 21 | 22 | static void *dtAllocDefault(size_t size, dtAllocHint) 23 | { 24 | return malloc(size); 25 | } 26 | 27 | static void dtFreeDefault(void *ptr) 28 | { 29 | free(ptr); 30 | } 31 | 32 | static dtAllocFunc* sAllocFunc = dtAllocDefault; 33 | static dtFreeFunc* sFreeFunc = dtFreeDefault; 34 | 35 | void dtAllocSetCustom(dtAllocFunc *allocFunc, dtFreeFunc *freeFunc) 36 | { 37 | sAllocFunc = allocFunc ? allocFunc : dtAllocDefault; 38 | sFreeFunc = freeFunc ? freeFunc : dtFreeDefault; 39 | } 40 | 41 | void* dtAlloc(size_t size, dtAllocHint hint) 42 | { 43 | return sAllocFunc(size, hint); 44 | } 45 | 46 | void dtFree(void* ptr) 47 | { 48 | if (ptr) 49 | sFreeFunc(ptr); 50 | } 51 | -------------------------------------------------------------------------------- /sources/src/nav-rcn/Detour/Source/DetourAssert.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2009-2010 Mikko Mononen memon@inside.org 3 | // 4 | // This software is provided 'as-is', without any express or implied 5 | // warranty. In no event will the authors be held liable for any damages 6 | // arising from the use of this software. 7 | // Permission is granted to anyone to use this software for any purpose, 8 | // including commercial applications, and to alter it and redistribute it 9 | // freely, subject to the following restrictions: 10 | // 1. The origin of this software must not be misrepresented; you must not 11 | // claim that you wrote the original software. If you use this software 12 | // in a product, an acknowledgment in the product documentation would be 13 | // appreciated but is not required. 14 | // 2. Altered source versions must be plainly marked as such, and must not be 15 | // misrepresented as being the original software. 16 | // 3. This notice may not be removed or altered from any source distribution. 17 | // 18 | 19 | #include "DetourAssert.h" 20 | 21 | #ifndef NDEBUG 22 | 23 | static dtAssertFailFunc* sAssertFailFunc = 0; 24 | 25 | void dtAssertFailSetCustom(dtAssertFailFunc *assertFailFunc) 26 | { 27 | sAssertFailFunc = assertFailFunc; 28 | } 29 | 30 | dtAssertFailFunc* dtAssertFailGetCustom() 31 | { 32 | return sAssertFailFunc; 33 | } 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /sources/src/nav-rcn/DetourCrowd/Include/DetourLocalBoundary.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2009-2010 Mikko Mononen memon@inside.org 3 | // 4 | // This software is provided 'as-is', without any express or implied 5 | // warranty. In no event will the authors be held liable for any damages 6 | // arising from the use of this software. 7 | // Permission is granted to anyone to use this software for any purpose, 8 | // including commercial applications, and to alter it and redistribute it 9 | // freely, subject to the following restrictions: 10 | // 1. The origin of this software must not be misrepresented; you must not 11 | // claim that you wrote the original software. If you use this software 12 | // in a product, an acknowledgment in the product documentation would be 13 | // appreciated but is not required. 14 | // 2. Altered source versions must be plainly marked as such, and must not be 15 | // misrepresented as being the original software. 16 | // 3. This notice may not be removed or altered from any source distribution. 17 | // 18 | 19 | #ifndef DETOURLOCALBOUNDARY_H 20 | #define DETOURLOCALBOUNDARY_H 21 | 22 | #include "DetourNavMeshQuery.h" 23 | 24 | 25 | class dtLocalBoundary 26 | { 27 | static const int MAX_LOCAL_SEGS = 8; 28 | static const int MAX_LOCAL_POLYS = 16; 29 | 30 | struct Segment 31 | { 32 | float s[6]; ///< Segment start/end 33 | float d; ///< Distance for pruning. 34 | }; 35 | 36 | float m_center[3]; 37 | Segment m_segs[MAX_LOCAL_SEGS]; 38 | int m_nsegs; 39 | 40 | dtPolyRef m_polys[MAX_LOCAL_POLYS]; 41 | int m_npolys; 42 | 43 | void addSegment(const float dist, const float* s); 44 | 45 | public: 46 | dtLocalBoundary(); 47 | ~dtLocalBoundary(); 48 | 49 | void reset(); 50 | 51 | void update(dtPolyRef ref, const float* pos, const float collisionQueryRange, 52 | dtNavMeshQuery* navquery, const dtQueryFilter* filter); 53 | 54 | bool isValid(dtNavMeshQuery* navquery, const dtQueryFilter* filter); 55 | 56 | inline const float* getCenter() const { return m_center; } 57 | inline int getSegmentCount() const { return m_nsegs; } 58 | inline const float* getSegment(int i) const { return m_segs[i].s; } 59 | 60 | private: 61 | // Explicitly disabled copy constructor and copy assignment operator. 62 | dtLocalBoundary(const dtLocalBoundary&); 63 | dtLocalBoundary& operator=(const dtLocalBoundary&); 64 | }; 65 | 66 | #endif // DETOURLOCALBOUNDARY_H 67 | -------------------------------------------------------------------------------- /sources/src/nav-rcn/Nav/Include/DetourEx.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2011 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | #ifndef CAI_DETOUREX_H 23 | #define CAI_DETOUREX_H 24 | 25 | #include "DetourNavMesh.h" 26 | 27 | #if _MSC_VER // TRUE for Microsoft compiler. 28 | #define EXPORT_API __declspec(dllexport) // Required for VC++ 29 | #else 30 | #define EXPORT_API // Otherwise don't define. 31 | #endif 32 | 33 | static const int MAX_RCN_PATH_CORRIDOR_SIZE = 256; 34 | 35 | struct rcnPathCorridorData 36 | { 37 | float position[3]; 38 | float target[3]; 39 | 40 | dtPolyRef path[MAX_RCN_PATH_CORRIDOR_SIZE]; 41 | int pathCount; 42 | }; 43 | 44 | struct rcnNavmeshPoint 45 | { 46 | dtPolyRef polyRef; 47 | float point[3]; 48 | }; 49 | 50 | #endif 51 | -------------------------------------------------------------------------------- /sources/src/nav-rcn/Nav/Include/DetourNavMeshEx.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2011 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | #ifndef CAI_DETOURNAVMESHEX_H 23 | #define CAI_DETOURNAVMESHEX_H 24 | 25 | #include "DetourEx.h" 26 | 27 | struct rcnTileData 28 | { 29 | unsigned char* data; 30 | int dataSize; 31 | bool isOwned; 32 | }; 33 | 34 | #endif -------------------------------------------------------------------------------- /sources/src/nav-rcn/Nav/Source/NavValidation.cpp: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2011 Stephen A. Pratt 3 | * 4 | * Permission is hereby granted, free of charge, to any person obtaining a copy 5 | * of this software and associated documentation files (the "Software"), to deal 6 | * in the Software without restriction, including without limitation the rights 7 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | * copies of the Software, and to permit persons to whom the Software is 9 | * furnished to do so, subject to the following conditions: 10 | * 11 | * The above copyright notice and this permission notice shall be included in 12 | * all copies or substantial portions of the Software. 13 | * 14 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 20 | * THE SOFTWARE. 21 | */ 22 | #include 23 | #include "DetourEx.h" 24 | #include "DetourCommon.h" 25 | 26 | extern "C" 27 | { 28 | // The purpose of these functions is to allow checking that 29 | // the Vector3 structure can be auto-cast by .NET interop to a 30 | // float[3] pointer. The tests are needed to allow validation across 31 | // various OS's and platforms. 32 | 33 | EXPORT_API void dtvlVectorTest(const float* vector3in, float* vector3out) 34 | { 35 | dtVcopy(vector3out, vector3in); 36 | } 37 | 38 | EXPORT_API void dtvlVectorArrayTest(const float* vector3in 39 | , const int vectorCount 40 | , float* vector3out) 41 | { 42 | for (int i = 0; i < vectorCount; i++) 43 | { 44 | dtVcopy(&vector3out[i * 3], &vector3in[i * 3]); 45 | } 46 | } 47 | } -------------------------------------------------------------------------------- /sources/src/nmgen-rcn/Recast/Include/RecastAssert.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright (c) 2009-2010 Mikko Mononen memon@inside.org 3 | // 4 | // This software is provided 'as-is', without any express or implied 5 | // warranty. In no event will the authors be held liable for any damages 6 | // arising from the use of this software. 7 | // Permission is granted to anyone to use this software for any purpose, 8 | // including commercial applications, and to alter it and redistribute it 9 | // freely, subject to the following restrictions: 10 | // 1. The origin of this software must not be misrepresented; you must not 11 | // claim that you wrote the original software. If you use this software 12 | // in a product, an acknowledgment in the product documentation would be 13 | // appreciated but is not required. 14 | // 2. Altered source versions must be plainly marked as such, and must not be 15 | // misrepresented as being the original software. 16 | // 3. This notice may not be removed or altered from any source distribution. 17 | // 18 | 19 | #ifndef RECASTASSERT_H 20 | #define RECASTASSERT_H 21 | 22 | // Note: This header file's only purpose is to include define assert. 23 | // Feel free to change the file and include your own implementation instead. 24 | 25 | #ifdef NDEBUG 26 | // From http://cnicholson.net/2009/02/stupid-c-tricks-adventures-in-assert/ 27 | # define rcAssert(x) do { (void)sizeof(x); } while((void)(__LINE__==-1),false) 28 | #else 29 | # include 30 | # define rcAssert assert 31 | #endif 32 | 33 | #endif // RECASTASSERT_H 34 | -------------------------------------------------------------------------------- /unity3d-2018-64bit/Assets/CAI/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eeaa755f08d246c41b630bf2d024f3bc 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity3d-2018-64bit/Assets/CAI/Editor/cai-nav-u3d-editor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/unity3d-2018-64bit/Assets/CAI/Editor/cai-nav-u3d-editor.dll -------------------------------------------------------------------------------- /unity3d-2018-64bit/Assets/CAI/Editor/cai-nav-u3d-editor.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 36acbf04897edb842a840b02fbc91afb 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | platformData: 13 | - first: 14 | Any: 15 | second: 16 | enabled: 0 17 | settings: {} 18 | - first: 19 | Editor: Editor 20 | second: 21 | enabled: 1 22 | settings: 23 | DefaultValueInitialized: true 24 | - first: 25 | Windows Store Apps: WindowsStoreApps 26 | second: 27 | enabled: 0 28 | settings: 29 | CPU: AnyCPU 30 | userData: 31 | assetBundleName: 32 | assetBundleVariant: 33 | -------------------------------------------------------------------------------- /unity3d-2018-64bit/Assets/CAI/Editor/cai-nmbuild-extras-u3d-editor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/unity3d-2018-64bit/Assets/CAI/Editor/cai-nmbuild-extras-u3d-editor.dll -------------------------------------------------------------------------------- /unity3d-2018-64bit/Assets/CAI/Editor/cai-nmbuild-extras-u3d-editor.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d3016959ddf41ff4abac56ca735f21eb 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | platformData: 13 | - first: 14 | Any: 15 | second: 16 | enabled: 0 17 | settings: {} 18 | - first: 19 | Editor: Editor 20 | second: 21 | enabled: 1 22 | settings: 23 | DefaultValueInitialized: true 24 | - first: 25 | Windows Store Apps: WindowsStoreApps 26 | second: 27 | enabled: 0 28 | settings: 29 | CPU: AnyCPU 30 | userData: 31 | assetBundleName: 32 | assetBundleVariant: 33 | -------------------------------------------------------------------------------- /unity3d-2018-64bit/Assets/CAI/Editor/cai-nmbuild-u3d-editor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/unity3d-2018-64bit/Assets/CAI/Editor/cai-nmbuild-u3d-editor.dll -------------------------------------------------------------------------------- /unity3d-2018-64bit/Assets/CAI/Editor/cai-nmbuild-u3d-editor.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 95d34ee0ae16a9a44a6169cda6c7d76c 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | platformData: 13 | - first: 14 | Any: 15 | second: 16 | enabled: 0 17 | settings: {} 18 | - first: 19 | Editor: Editor 20 | second: 21 | enabled: 1 22 | settings: 23 | DefaultValueInitialized: true 24 | - first: 25 | Windows Store Apps: WindowsStoreApps 26 | second: 27 | enabled: 0 28 | settings: 29 | CPU: AnyCPU 30 | userData: 31 | assetBundleName: 32 | assetBundleVariant: 33 | -------------------------------------------------------------------------------- /unity3d-2018-64bit/Assets/CAI/Editor/cai-nmbuild.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/unity3d-2018-64bit/Assets/CAI/Editor/cai-nmbuild.dll -------------------------------------------------------------------------------- /unity3d-2018-64bit/Assets/CAI/Editor/cai-nmbuild.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d59848672ab613f45b6133224eb2a7b3 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | platformData: 13 | - first: 14 | Any: 15 | second: 16 | enabled: 0 17 | settings: {} 18 | - first: 19 | Editor: Editor 20 | second: 21 | enabled: 1 22 | settings: 23 | DefaultValueInitialized: true 24 | - first: 25 | Windows Store Apps: WindowsStoreApps 26 | second: 27 | enabled: 0 28 | settings: 29 | CPU: AnyCPU 30 | userData: 31 | assetBundleName: 32 | assetBundleVariant: 33 | -------------------------------------------------------------------------------- /unity3d-2018-64bit/Assets/CAI/Editor/cai-nmgen.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/unity3d-2018-64bit/Assets/CAI/Editor/cai-nmgen.dll -------------------------------------------------------------------------------- /unity3d-2018-64bit/Assets/CAI/Editor/cai-nmgen.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 670463e7c0386bd42ac49c69a9232ac5 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | platformData: 13 | - first: 14 | Any: 15 | second: 16 | enabled: 0 17 | settings: {} 18 | - first: 19 | Editor: Editor 20 | second: 21 | enabled: 1 22 | settings: 23 | DefaultValueInitialized: true 24 | - first: 25 | Windows Store Apps: WindowsStoreApps 26 | second: 27 | enabled: 0 28 | settings: 29 | CPU: AnyCPU 30 | userData: 31 | assetBundleName: 32 | assetBundleVariant: 33 | -------------------------------------------------------------------------------- /unity3d-2018-64bit/Assets/CAI/Editor/cai-util-u3d-editor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/unity3d-2018-64bit/Assets/CAI/Editor/cai-util-u3d-editor.dll -------------------------------------------------------------------------------- /unity3d-2018-64bit/Assets/CAI/Editor/cai-util-u3d-editor.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 78234ae7c1d607b4caaea878fb057ef3 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | platformData: 13 | - first: 14 | Any: 15 | second: 16 | enabled: 0 17 | settings: {} 18 | - first: 19 | Editor: Editor 20 | second: 21 | enabled: 1 22 | settings: 23 | DefaultValueInitialized: true 24 | - first: 25 | Windows Store Apps: WindowsStoreApps 26 | second: 27 | enabled: 0 28 | settings: 29 | CPU: AnyCPU 30 | userData: 31 | assetBundleName: 32 | assetBundleVariant: 33 | -------------------------------------------------------------------------------- /unity3d-2018-64bit/Assets/CAI/GlobalAssets.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 05893e9e48ec460449354f24e2d9f507 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity3d-2018-64bit/Assets/CAI/GlobalAssets/CAINavEditorSettings.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2bad2d087f48ebd4b9056056e164db3d 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity3d-2018-64bit/Assets/CAI/GlobalAssets/ReadMe.txt: -------------------------------------------------------------------------------- 1 | This directory contains 'singleton' assets. (One per project.) Various 2 | editors will use the assets in this directory, automatically creating them 3 | if they don't exist. 4 | -------------------------------------------------------------------------------- /unity3d-2018-64bit/Assets/CAI/GlobalAssets/ReadMe.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c00c21184d3fe4b4c90b7e250be35165 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity3d-2018-64bit/Assets/CAI/cai-nav-u3d.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/unity3d-2018-64bit/Assets/CAI/cai-nav-u3d.dll -------------------------------------------------------------------------------- /unity3d-2018-64bit/Assets/CAI/cai-nav-u3d.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6f4c85e8683ceee4699166e157f37cc7 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | platformData: 13 | - first: 14 | Any: 15 | second: 16 | enabled: 1 17 | settings: {} 18 | - first: 19 | Editor: Editor 20 | second: 21 | enabled: 0 22 | settings: 23 | DefaultValueInitialized: true 24 | - first: 25 | Windows Store Apps: WindowsStoreApps 26 | second: 27 | enabled: 0 28 | settings: 29 | CPU: AnyCPU 30 | userData: 31 | assetBundleName: 32 | assetBundleVariant: 33 | -------------------------------------------------------------------------------- /unity3d-2018-64bit/Assets/CAI/cai-nav.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/unity3d-2018-64bit/Assets/CAI/cai-nav.dll -------------------------------------------------------------------------------- /unity3d-2018-64bit/Assets/CAI/cai-nav.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5845cc18ff161e5449307637b33f19fb 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | platformData: 13 | - first: 14 | Any: 15 | second: 16 | enabled: 1 17 | settings: {} 18 | - first: 19 | Editor: Editor 20 | second: 21 | enabled: 0 22 | settings: 23 | DefaultValueInitialized: true 24 | - first: 25 | Windows Store Apps: WindowsStoreApps 26 | second: 27 | enabled: 0 28 | settings: 29 | CPU: AnyCPU 30 | userData: 31 | assetBundleName: 32 | assetBundleVariant: 33 | -------------------------------------------------------------------------------- /unity3d-2018-64bit/Assets/CAI/cai-nmbuild-extras-u3d.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/unity3d-2018-64bit/Assets/CAI/cai-nmbuild-extras-u3d.dll -------------------------------------------------------------------------------- /unity3d-2018-64bit/Assets/CAI/cai-nmbuild-extras-u3d.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 941ab6255df382c4f95af613645c3af1 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | platformData: 13 | - first: 14 | Any: 15 | second: 16 | enabled: 1 17 | settings: {} 18 | - first: 19 | Editor: Editor 20 | second: 21 | enabled: 0 22 | settings: 23 | DefaultValueInitialized: true 24 | - first: 25 | Windows Store Apps: WindowsStoreApps 26 | second: 27 | enabled: 0 28 | settings: 29 | CPU: AnyCPU 30 | userData: 31 | assetBundleName: 32 | assetBundleVariant: 33 | -------------------------------------------------------------------------------- /unity3d-2018-64bit/Assets/CAI/cai-util-u3d.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/unity3d-2018-64bit/Assets/CAI/cai-util-u3d.dll -------------------------------------------------------------------------------- /unity3d-2018-64bit/Assets/CAI/cai-util-u3d.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 469a72654dda6eb4e9213986b4a945b9 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | platformData: 13 | - first: 14 | Any: 15 | second: 16 | enabled: 1 17 | settings: {} 18 | - first: 19 | Editor: Editor 20 | second: 21 | enabled: 0 22 | settings: 23 | DefaultValueInitialized: true 24 | - first: 25 | Windows Store Apps: WindowsStoreApps 26 | second: 27 | enabled: 0 28 | settings: 29 | CPU: AnyCPU 30 | userData: 31 | assetBundleName: 32 | assetBundleVariant: 33 | -------------------------------------------------------------------------------- /unity3d-2018-64bit/Assets/CAI/cai-util.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/unity3d-2018-64bit/Assets/CAI/cai-util.dll -------------------------------------------------------------------------------- /unity3d-2018-64bit/Assets/CAI/cai-util.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fbeb474f05170104396ecaf366811727 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | platformData: 13 | - first: 14 | Any: 15 | second: 16 | enabled: 1 17 | settings: {} 18 | - first: 19 | Editor: Editor 20 | second: 21 | enabled: 0 22 | settings: 23 | DefaultValueInitialized: true 24 | - first: 25 | Windows Store Apps: WindowsStoreApps 26 | second: 27 | enabled: 0 28 | settings: 29 | CPU: AnyCPU 30 | userData: 31 | assetBundleName: 32 | assetBundleVariant: 33 | -------------------------------------------------------------------------------- /unity3d-2018-64bit/Assets/Plugins/cai-nav-rcn.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/unity3d-2018-64bit/Assets/Plugins/cai-nav-rcn.dll -------------------------------------------------------------------------------- /unity3d-2018-64bit/Assets/Plugins/cai-nav-rcn.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5311e9d072416c0429fbfaa3566b6f2e 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | platformData: 13 | - first: 14 | Any: 15 | second: 16 | enabled: 1 17 | settings: {} 18 | - first: 19 | Editor: Editor 20 | second: 21 | enabled: 0 22 | settings: 23 | DefaultValueInitialized: true 24 | userData: 25 | assetBundleName: 26 | assetBundleVariant: 27 | -------------------------------------------------------------------------------- /unity3d-2018-64bit/Assets/Plugins/cai-nmgen-rcn.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/unity3d-2018-64bit/Assets/Plugins/cai-nmgen-rcn.dll -------------------------------------------------------------------------------- /unity3d-2018-64bit/Assets/Plugins/cai-nmgen-rcn.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fd463f1692a1fb449830b52f805a0e55 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | platformData: 13 | - first: 14 | Any: 15 | second: 16 | enabled: 1 17 | settings: {} 18 | - first: 19 | Editor: Editor 20 | second: 21 | enabled: 0 22 | settings: 23 | DefaultValueInitialized: true 24 | userData: 25 | assetBundleName: 26 | assetBundleVariant: 27 | -------------------------------------------------------------------------------- /unity3d-2018-64bit/Assets/Plugins/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/unity3d-2018-64bit/Assets/Plugins/readme.md -------------------------------------------------------------------------------- /unity3d-2018-64bit/Assets/Plugins/readme.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9ce40563beefc3348b35313b1c65c510 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity3d-2019-64bit/Assets/CAI/Editor.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: eeaa755f08d246c41b630bf2d024f3bc 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity3d-2019-64bit/Assets/CAI/Editor/cai-nav-u3d-editor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/unity3d-2019-64bit/Assets/CAI/Editor/cai-nav-u3d-editor.dll -------------------------------------------------------------------------------- /unity3d-2019-64bit/Assets/CAI/Editor/cai-nav-u3d-editor.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 36acbf04897edb842a840b02fbc91afb 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | platformData: 13 | - first: 14 | Any: 15 | second: 16 | enabled: 0 17 | settings: {} 18 | - first: 19 | Editor: Editor 20 | second: 21 | enabled: 1 22 | settings: 23 | DefaultValueInitialized: true 24 | - first: 25 | Windows Store Apps: WindowsStoreApps 26 | second: 27 | enabled: 0 28 | settings: 29 | CPU: AnyCPU 30 | userData: 31 | assetBundleName: 32 | assetBundleVariant: 33 | -------------------------------------------------------------------------------- /unity3d-2019-64bit/Assets/CAI/Editor/cai-nmbuild-extras-u3d-editor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/unity3d-2019-64bit/Assets/CAI/Editor/cai-nmbuild-extras-u3d-editor.dll -------------------------------------------------------------------------------- /unity3d-2019-64bit/Assets/CAI/Editor/cai-nmbuild-extras-u3d-editor.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d3016959ddf41ff4abac56ca735f21eb 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | platformData: 13 | - first: 14 | Any: 15 | second: 16 | enabled: 0 17 | settings: {} 18 | - first: 19 | Editor: Editor 20 | second: 21 | enabled: 1 22 | settings: 23 | DefaultValueInitialized: true 24 | - first: 25 | Windows Store Apps: WindowsStoreApps 26 | second: 27 | enabled: 0 28 | settings: 29 | CPU: AnyCPU 30 | userData: 31 | assetBundleName: 32 | assetBundleVariant: 33 | -------------------------------------------------------------------------------- /unity3d-2019-64bit/Assets/CAI/Editor/cai-nmbuild-u3d-editor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/unity3d-2019-64bit/Assets/CAI/Editor/cai-nmbuild-u3d-editor.dll -------------------------------------------------------------------------------- /unity3d-2019-64bit/Assets/CAI/Editor/cai-nmbuild-u3d-editor.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 95d34ee0ae16a9a44a6169cda6c7d76c 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | platformData: 13 | - first: 14 | Any: 15 | second: 16 | enabled: 0 17 | settings: {} 18 | - first: 19 | Editor: Editor 20 | second: 21 | enabled: 1 22 | settings: 23 | DefaultValueInitialized: true 24 | - first: 25 | Windows Store Apps: WindowsStoreApps 26 | second: 27 | enabled: 0 28 | settings: 29 | CPU: AnyCPU 30 | userData: 31 | assetBundleName: 32 | assetBundleVariant: 33 | -------------------------------------------------------------------------------- /unity3d-2019-64bit/Assets/CAI/Editor/cai-nmbuild.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/unity3d-2019-64bit/Assets/CAI/Editor/cai-nmbuild.dll -------------------------------------------------------------------------------- /unity3d-2019-64bit/Assets/CAI/Editor/cai-nmbuild.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: d59848672ab613f45b6133224eb2a7b3 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | platformData: 13 | - first: 14 | Any: 15 | second: 16 | enabled: 0 17 | settings: {} 18 | - first: 19 | Editor: Editor 20 | second: 21 | enabled: 1 22 | settings: 23 | DefaultValueInitialized: true 24 | - first: 25 | Windows Store Apps: WindowsStoreApps 26 | second: 27 | enabled: 0 28 | settings: 29 | CPU: AnyCPU 30 | userData: 31 | assetBundleName: 32 | assetBundleVariant: 33 | -------------------------------------------------------------------------------- /unity3d-2019-64bit/Assets/CAI/Editor/cai-nmgen.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/unity3d-2019-64bit/Assets/CAI/Editor/cai-nmgen.dll -------------------------------------------------------------------------------- /unity3d-2019-64bit/Assets/CAI/Editor/cai-nmgen.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 670463e7c0386bd42ac49c69a9232ac5 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | platformData: 13 | - first: 14 | Any: 15 | second: 16 | enabled: 0 17 | settings: {} 18 | - first: 19 | Editor: Editor 20 | second: 21 | enabled: 1 22 | settings: 23 | DefaultValueInitialized: true 24 | - first: 25 | Windows Store Apps: WindowsStoreApps 26 | second: 27 | enabled: 0 28 | settings: 29 | CPU: AnyCPU 30 | userData: 31 | assetBundleName: 32 | assetBundleVariant: 33 | -------------------------------------------------------------------------------- /unity3d-2019-64bit/Assets/CAI/Editor/cai-util-u3d-editor.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/unity3d-2019-64bit/Assets/CAI/Editor/cai-util-u3d-editor.dll -------------------------------------------------------------------------------- /unity3d-2019-64bit/Assets/CAI/Editor/cai-util-u3d-editor.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 78234ae7c1d607b4caaea878fb057ef3 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | platformData: 13 | - first: 14 | Any: 15 | second: 16 | enabled: 0 17 | settings: {} 18 | - first: 19 | Editor: Editor 20 | second: 21 | enabled: 1 22 | settings: 23 | DefaultValueInitialized: true 24 | - first: 25 | Windows Store Apps: WindowsStoreApps 26 | second: 27 | enabled: 0 28 | settings: 29 | CPU: AnyCPU 30 | userData: 31 | assetBundleName: 32 | assetBundleVariant: 33 | -------------------------------------------------------------------------------- /unity3d-2019-64bit/Assets/CAI/GlobalAssets.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 05893e9e48ec460449354f24e2d9f507 3 | folderAsset: yes 4 | DefaultImporter: 5 | externalObjects: {} 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity3d-2019-64bit/Assets/CAI/GlobalAssets/CAINavEditorSettings.asset.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 2bad2d087f48ebd4b9056056e164db3d 3 | NativeFormatImporter: 4 | externalObjects: {} 5 | mainObjectFileID: 0 6 | userData: 7 | assetBundleName: 8 | assetBundleVariant: 9 | -------------------------------------------------------------------------------- /unity3d-2019-64bit/Assets/CAI/GlobalAssets/ReadMe.txt: -------------------------------------------------------------------------------- 1 | This directory contains 'singleton' assets. (One per project.) Various 2 | editors will use the assets in this directory, automatically creating them 3 | if they don't exist. 4 | -------------------------------------------------------------------------------- /unity3d-2019-64bit/Assets/CAI/GlobalAssets/ReadMe.txt.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: c00c21184d3fe4b4c90b7e250be35165 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | -------------------------------------------------------------------------------- /unity3d-2019-64bit/Assets/CAI/cai-nav-u3d.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/unity3d-2019-64bit/Assets/CAI/cai-nav-u3d.dll -------------------------------------------------------------------------------- /unity3d-2019-64bit/Assets/CAI/cai-nav-u3d.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 6f4c85e8683ceee4699166e157f37cc7 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | platformData: 13 | - first: 14 | Any: 15 | second: 16 | enabled: 1 17 | settings: {} 18 | - first: 19 | Editor: Editor 20 | second: 21 | enabled: 0 22 | settings: 23 | DefaultValueInitialized: true 24 | - first: 25 | Windows Store Apps: WindowsStoreApps 26 | second: 27 | enabled: 0 28 | settings: 29 | CPU: AnyCPU 30 | userData: 31 | assetBundleName: 32 | assetBundleVariant: 33 | -------------------------------------------------------------------------------- /unity3d-2019-64bit/Assets/CAI/cai-nav.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/unity3d-2019-64bit/Assets/CAI/cai-nav.dll -------------------------------------------------------------------------------- /unity3d-2019-64bit/Assets/CAI/cai-nav.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5845cc18ff161e5449307637b33f19fb 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | platformData: 13 | - first: 14 | Any: 15 | second: 16 | enabled: 1 17 | settings: {} 18 | - first: 19 | Editor: Editor 20 | second: 21 | enabled: 0 22 | settings: 23 | DefaultValueInitialized: true 24 | - first: 25 | Windows Store Apps: WindowsStoreApps 26 | second: 27 | enabled: 0 28 | settings: 29 | CPU: AnyCPU 30 | userData: 31 | assetBundleName: 32 | assetBundleVariant: 33 | -------------------------------------------------------------------------------- /unity3d-2019-64bit/Assets/CAI/cai-nmbuild-extras-u3d.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/unity3d-2019-64bit/Assets/CAI/cai-nmbuild-extras-u3d.dll -------------------------------------------------------------------------------- /unity3d-2019-64bit/Assets/CAI/cai-nmbuild-extras-u3d.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 941ab6255df382c4f95af613645c3af1 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | platformData: 13 | - first: 14 | Any: 15 | second: 16 | enabled: 1 17 | settings: {} 18 | - first: 19 | Editor: Editor 20 | second: 21 | enabled: 0 22 | settings: 23 | DefaultValueInitialized: true 24 | - first: 25 | Windows Store Apps: WindowsStoreApps 26 | second: 27 | enabled: 0 28 | settings: 29 | CPU: AnyCPU 30 | userData: 31 | assetBundleName: 32 | assetBundleVariant: 33 | -------------------------------------------------------------------------------- /unity3d-2019-64bit/Assets/CAI/cai-util-u3d.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/unity3d-2019-64bit/Assets/CAI/cai-util-u3d.dll -------------------------------------------------------------------------------- /unity3d-2019-64bit/Assets/CAI/cai-util-u3d.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 469a72654dda6eb4e9213986b4a945b9 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | platformData: 13 | - first: 14 | Any: 15 | second: 16 | enabled: 1 17 | settings: {} 18 | - first: 19 | Editor: Editor 20 | second: 21 | enabled: 0 22 | settings: 23 | DefaultValueInitialized: true 24 | - first: 25 | Windows Store Apps: WindowsStoreApps 26 | second: 27 | enabled: 0 28 | settings: 29 | CPU: AnyCPU 30 | userData: 31 | assetBundleName: 32 | assetBundleVariant: 33 | -------------------------------------------------------------------------------- /unity3d-2019-64bit/Assets/CAI/cai-util.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/unity3d-2019-64bit/Assets/CAI/cai-util.dll -------------------------------------------------------------------------------- /unity3d-2019-64bit/Assets/CAI/cai-util.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fbeb474f05170104396ecaf366811727 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | platformData: 13 | - first: 14 | Any: 15 | second: 16 | enabled: 1 17 | settings: {} 18 | - first: 19 | Editor: Editor 20 | second: 21 | enabled: 0 22 | settings: 23 | DefaultValueInitialized: true 24 | - first: 25 | Windows Store Apps: WindowsStoreApps 26 | second: 27 | enabled: 0 28 | settings: 29 | CPU: AnyCPU 30 | userData: 31 | assetBundleName: 32 | assetBundleVariant: 33 | -------------------------------------------------------------------------------- /unity3d-2019-64bit/Assets/Plugins/cai-nav-rcn.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/unity3d-2019-64bit/Assets/Plugins/cai-nav-rcn.dll -------------------------------------------------------------------------------- /unity3d-2019-64bit/Assets/Plugins/cai-nav-rcn.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 5311e9d072416c0429fbfaa3566b6f2e 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | platformData: 13 | - first: 14 | Any: 15 | second: 16 | enabled: 1 17 | settings: {} 18 | - first: 19 | Editor: Editor 20 | second: 21 | enabled: 0 22 | settings: 23 | DefaultValueInitialized: true 24 | userData: 25 | assetBundleName: 26 | assetBundleVariant: 27 | -------------------------------------------------------------------------------- /unity3d-2019-64bit/Assets/Plugins/cai-nmgen-rcn.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/unity3d-2019-64bit/Assets/Plugins/cai-nmgen-rcn.dll -------------------------------------------------------------------------------- /unity3d-2019-64bit/Assets/Plugins/cai-nmgen-rcn.dll.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: fd463f1692a1fb449830b52f805a0e55 3 | PluginImporter: 4 | externalObjects: {} 5 | serializedVersion: 2 6 | iconMap: {} 7 | executionOrder: {} 8 | defineConstraints: [] 9 | isPreloaded: 0 10 | isOverridable: 0 11 | isExplicitlyReferenced: 0 12 | platformData: 13 | - first: 14 | Any: 15 | second: 16 | enabled: 1 17 | settings: {} 18 | - first: 19 | Editor: Editor 20 | second: 21 | enabled: 0 22 | settings: 23 | DefaultValueInitialized: true 24 | userData: 25 | assetBundleName: 26 | assetBundleVariant: 27 | -------------------------------------------------------------------------------- /unity3d-2019-64bit/Assets/Plugins/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kbengine/unity3d_nav_critterai/8bf72715163dd7c04e01377bd9874d9d76748e63/unity3d-2019-64bit/Assets/Plugins/readme.md -------------------------------------------------------------------------------- /unity3d-2019-64bit/Assets/Plugins/readme.md.meta: -------------------------------------------------------------------------------- 1 | fileFormatVersion: 2 2 | guid: 9ce40563beefc3348b35313b1c65c510 3 | TextScriptImporter: 4 | externalObjects: {} 5 | userData: 6 | assetBundleName: 7 | assetBundleVariant: 8 | --------------------------------------------------------------------------------