This PR adds several new ways to collect areas in the navigation mesh.
Added CollectAreasOverlappingExtent and CollectAreasInRadius natives to CNavMesh. Their equivalents in VScript are NavMesh.GetNavAreasOverlappingEntityExtent (but less restrictive) and NavMesh.GetNavAreasInRadius, respectively.
Added CollectAreasAlongLine, which as the name states, starts at an area and collects areas along the mesh towards the ending area in a straight line.
This should not be confused with BuildPath as it doesn't do any path making whatsoever.
Added GetAdjacentLength and GetIncomingConnectionLength to CNavArea, which returns the length of the connection between the areas' centers. This is a cached value.
This can be useful for custom area collection algorithms and alleviates the need of having to manually calculate the distance repeatedly (i.e getting both areas' centers, then doing GetVectorDistance, etc).
Fixed a minor typo of GetIncomingConnection's C++ native function.
With the new collection methods, I'm not sure if SurroundingAreasCollector needs a new name or not.
This PR adds several new ways to collect areas in the navigation mesh.
CollectAreasOverlappingExtent
andCollectAreasInRadius
natives toCNavMesh
. Their equivalents in VScript areNavMesh.GetNavAreasOverlappingEntityExtent
(but less restrictive) andNavMesh.GetNavAreasInRadius
, respectively.CollectAreasAlongLine
, which as the name states, starts at an area and collects areas along the mesh towards the ending area in a straight line.BuildPath
as it doesn't do any path making whatsoever.GetAdjacentLength
andGetIncomingConnectionLength
toCNavArea
, which returns the length of the connection between the areas' centers. This is a cached value.GetVectorDistance
, etc).GetIncomingConnection
's C++ native function.With the new collection methods, I'm not sure if
SurroundingAreasCollector
needs a new name or not.