├── 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 | 
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 | 
34 |
35 | 我们还需要将我们之前创建的地形绑定到TerrainCompiler上。
36 |
37 | 
38 |
39 | 6:开始生成Navmesh
40 |
41 | 
42 |
43 | 7:导出为文件,此时会出现2个文件,其中“srv_”开头的文件用于服务端寻路,另一个则可用于客户端使用该插件来寻路。
44 |
45 | 
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 | 
20 |
21 | Pathfinding:
22 |
23 | (A view from within Feature Explorer)
24 |
25 | 
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 |
--------------------------------------------------------------------------------