Struct NavMeshQuerySystem.Singleton
Implements
IComponentData
IQueryTypeParameter
Assembly: ProjectDawn.Navigation.dll
Syntax
public struct NavMeshQuerySystem.Singleton : IComponentData, IQueryTypeParameter
Properties
|
Improve this Doc
View Source
World
Declaration
public NavMeshWorld World { get; }
Property Value
Type |
Description |
NavMeshWorld |
|
Methods
|
Improve this Doc
View Source
CreateQuery(NavMeshLocation, NavMeshLocation, int, int, NativeArray<float>)
Creates new navmesh query to construct optimal path.
Declaration
public NavMeshQueryHandle CreateQuery(NavMeshLocation from, NavMeshLocation to, int agentTypeId = 0, int areaMask = -1, NativeArray<float> costs = default)
Parameters
Type |
Name |
Description |
NavMeshLocation |
from |
|
NavMeshLocation |
to |
|
int |
agentTypeId |
|
int |
areaMask |
|
NativeArray<float> |
costs |
|
Returns
|
Improve this Doc
View Source
DestroyQuery(NavMeshQueryHandle)
Release navmesh query for reuse.
Declaration
public void DestroyQuery(NavMeshQueryHandle handle)
Parameters
|
Improve this Doc
View Source
Exist(NavMeshQueryHandle)
Returns true if navmesh query exists.
Declaration
public bool Exist(NavMeshQueryHandle handle)
Parameters
Returns
|
Improve this Doc
View Source
GetEdgesAndNeighbors(PolygonId, NativeSlice<Vector3>, NativeSlice<PolygonId>, NativeSlice<byte>, out int, out int)
Returns surface information of navmesh node.
Declaration
public bool GetEdgesAndNeighbors(PolygonId node, NativeSlice<Vector3> vertices, NativeSlice<PolygonId> nodes, NativeSlice<byte> indices, out int numVertices, out int numNodes)
Parameters
Type |
Name |
Description |
PolygonId |
node |
|
NativeSlice<Vector3> |
vertices |
|
NativeSlice<PolygonId> |
nodes |
|
NativeSlice<byte> |
indices |
|
int |
numVertices |
|
int |
numNodes |
|
Returns
|
Improve this Doc
View Source
GetPolygonType(PolygonId)
Declaration
public NavMeshPolyTypes GetPolygonType(PolygonId path)
Parameters
Type |
Name |
Description |
PolygonId |
path |
|
Returns
Type |
Description |
NavMeshPolyTypes |
|
|
Improve this Doc
View Source
GetPolygons(NavMeshQueryHandle)
Returns path that is represented as array of nodes. Can be used for construcing NavMeshFunnel.
Declaration
public NativeSlice<PolygonId> GetPolygons(NavMeshQueryHandle handle)
Parameters
Returns
Type |
Description |
NativeSlice<PolygonId> |
|
|
Improve this Doc
View Source
GetPortalPoints(PolygonId, PolygonId, out float3, out float3)
Declaration
public bool GetPortalPoints(PolygonId from, PolygonId to, out float3 portalLeft, out float3 portalRight)
Parameters
Type |
Name |
Description |
PolygonId |
from |
|
PolygonId |
to |
|
float3 |
portalLeft |
|
float3 |
portalRight |
|
Returns
|
Improve this Doc
View Source
GetPortalPoints(PolygonId, PolygonId, out Vector3, out Vector3)
Declaration
public bool GetPortalPoints(PolygonId polygon, PolygonId neighbourPolygon, out Vector3 left, out Vector3 right)
Parameters
Type |
Name |
Description |
PolygonId |
polygon |
|
PolygonId |
neighbourPolygon |
|
Vector3 |
left |
|
Vector3 |
right |
|
Returns
|
Improve this Doc
View Source
GetStatus(NavMeshQueryHandle)
Returns status of navmesh query.
Declaration
public NavMeshQueryStatus GetStatus(NavMeshQueryHandle handle)
Parameters
Returns
|
Improve this Doc
View Source
IsPathValid(NativeSlice<PolygonId>)
Returns true, if all nodes in array are valid. Does not check, if the nodes are connected.
Declaration
public bool IsPathValid(NativeSlice<PolygonId> path)
Parameters
Type |
Name |
Description |
NativeSlice<PolygonId> |
path |
|
Returns
|
Improve this Doc
View Source
IsValid(PolygonId)
Returns true, if node is valid.
Declaration
public bool IsValid(PolygonId path)
Parameters
Type |
Name |
Description |
PolygonId |
path |
|
Returns
|
Improve this Doc
View Source
MapLocation(float3, float3, int, int)
Declaration
public NavMeshLocation MapLocation(float3 position, float3 extents, int agentTypeID, int areaMask = -1)
Parameters
Type |
Name |
Description |
float3 |
position |
|
float3 |
extents |
|
int |
agentTypeID |
|
int |
areaMask |
|
Returns
Type |
Description |
NavMeshLocation |
|
|
Improve this Doc
View Source
MoveLocation(NavMeshLocation, float3, int)
Moves navmesh location to specified position.
This is usually used for finding new position without steping over the obstacles.
Declaration
public NavMeshLocation MoveLocation(NavMeshLocation location, float3 target, int areaMask = -1)
Parameters
Type |
Name |
Description |
NavMeshLocation |
location |
|
float3 |
target |
|
int |
areaMask |
|
Returns
Type |
Description |
NavMeshLocation |
|
|
Improve this Doc
View Source
ProgressPath(ref DynamicBuffer<NavMeshNode>, PolygonId, PolygonId)
Progress path by either removing or adding nodes.
If newPolygon exists in path, it shortens path up to that node.
Otherwise it attempts to add newPolygon to path.
This method can produce invalid path, if newPolygon is can not be connected to path, it is expected that funnel will request new path in that case.
Declaration
public void ProgressPath(ref DynamicBuffer<NavMeshNode> nodes, PolygonId previousPolygon, PolygonId newPolygon)
Parameters
Type |
Name |
Description |
DynamicBuffer<NavMeshNode> |
nodes |
|
PolygonId |
previousPolygon |
|
PolygonId |
newPolygon |
|
|
Improve this Doc
View Source
Raycast(out NavMeshHit, NavMeshLocation, Vector3, int, NativeArray<float>)
Declaration
public PathQueryStatus Raycast(out NavMeshHit hit, NavMeshLocation start, Vector3 targetPosition, int areaMask = -1, NativeArray<float> costs = default)
Parameters
Type |
Name |
Description |
NavMeshHit |
hit |
|
NavMeshLocation |
start |
|
Vector3 |
targetPosition |
|
int |
areaMask |
|
NativeArray<float> |
costs |
|
Returns
Type |
Description |
PathQueryStatus |
|
|
Improve this Doc
View Source
TryCreateFunnel(ref NavMeshFunnel, NativeSlice<PolygonId>, float3, float3)
Creates navmesh funnel out of navmesh nodes.
Declaration
public bool TryCreateFunnel(ref NavMeshFunnel funnel, NativeSlice<PolygonId> path, float3 from, float3 to)
Parameters
Type |
Name |
Description |
NavMeshFunnel |
funnel |
|
NativeSlice<PolygonId> |
path |
|
float3 |
from |
|
float3 |
to |
|
Returns
Implements
Unity.Entities.IComponentData
Unity.Entities.IQueryTypeParameter