A* Pathfinding Project  3.8.5
The A* Pathfinding Project for Unity 3D
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Properties Events Macros Groups Pages
TileHandlerHelper Class Reference

Helper for navmesh cut objects. More...

Detailed Description

Helper for navmesh cut objects.

Adding an instance of this component into the scene makes sure that NavmeshCut components update the recast graph correctly when they move around.

A* Pro Feature:
This is an A* Pathfinding Project Pro feature only. This function/class/variable might not exist in the Free version of the A* Pathfinding Project or the functionality might be limited
The Pro version can be bought here

Public Member Functions

void DiscardPending ()
 Discards all pending updates caused by moved or modified navmesh cuts.
 
void ForceUpdate ()
 Checks all NavmeshCut instances and updates graphs if needed.
 
void UseSpecifiedHandler (TileHandler handler)
 Use the specified handler, will create one at start if not called.
 

Public Attributes

float updateInterval
 How often to check if an update needs to be done (real seconds between checks).
 

Private Member Functions

void HandleOnDestroyCallback (NavmeshCut obj)
 Called when a NavmeshCut is destroyed.
 
void OnDisable ()
 
void OnEnable ()
 
void OnRecalculatedTiles (RecastGraph.NavmeshTile[] tiles)
 Called when some recast graph tiles have been completely recalculated.
 
void Start ()
 
void Update ()
 Update is called once per frame.
 

Private Attributes

readonly List< Bounds > forcedReloadBounds = new List<Bounds>()
 
TileHandler handler
 
float lastUpdateTime = -999
 

Member Function Documentation

void DiscardPending ( )

Discards all pending updates caused by moved or modified navmesh cuts.

void ForceUpdate ( )

Checks all NavmeshCut instances and updates graphs if needed.

Note
This schedules updates for all necessary tiles to happen as soon as possible. The pathfinding threads will continue to calculate the paths that they were calculating when this function was called and then they will be paused and the graph updates will be carried out (this may be several frames into the future and the graph updates themselves may take several frames to complete). If you want to force all navmesh cutting to be completed in a single frame call this method and immediately after call AstarPath.FlushWorkItems.
void HandleOnDestroyCallback ( NavmeshCut  obj)
private

Called when a NavmeshCut is destroyed.

void OnDisable ( )
private
void OnEnable ( )
private
void OnRecalculatedTiles ( RecastGraph.NavmeshTile[]  tiles)
private

Called when some recast graph tiles have been completely recalculated.

void Start ( )
private
void Update ( )
private

Update is called once per frame.

void UseSpecifiedHandler ( TileHandler  handler)

Use the specified handler, will create one at start if not called.

Member Data Documentation

readonly List<Bounds> forcedReloadBounds = new List<Bounds>()
private
TileHandler handler
private
float lastUpdateTime = -999
private
float updateInterval

How often to check if an update needs to be done (real seconds between checks).

For very large worlds with lots of NavmeshCut objects, it might be a performance penalty to do this check every frame. If you think this is a performance penalty, increase this number to check less often.

For almost all games, this can be kept at 0.

If negative, no updates will be done. They must be manually triggered using ForceUpdate


The documentation for this class was generated from the following file: