Returns a path heading away from a specified point to avoid.
The search will terminate when G > length (passed to the constructor) + FleePath.spread.
Can be used to make an AI to flee from an enemy (cannot guarantee that it will not be forced into corners though :D )
Vector3 thePointToFleeFrom = Vector3.zero;
int theGScoreToStopAt = 10000;
path.aimStrength = 1;
path.spread = 4000;
Seeker seeker = GetComponent<Seeker>();
seeker.StartPath(path, MyCompleteFunction);
- 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
|
void | Setup (Vector3 start, Vector3 avoid, int searchLength, OnPathDelegate callback) |
|
Protected Member Functions inherited from RandomPath |
override void | CalculateStep (long targetTick) |
| Calculates the path until completed or until the time has passed targetTick. More...
|
|
override void | Initialize () |
| Initializes the path. More...
|
|
override void | Prepare () |
| Prepares the path. More...
|
|
override void | Reset () |
| Reset all values to their default values. More...
|
|
override void | ReturnPath () |
| Calls callback to return the calculated path. More...
|
|
RandomPath | Setup (Vector3 start, int length, OnPathDelegate callback) |
|
override void | Cleanup () |
| Always called after the path has been calculated. More...
|
|
virtual void | CompletePathIfStartIsValidTarget () |
| Checks if the start node is the target and complete the path if that is the case. More...
|
|
virtual bool | EndPointGridGraphSpecialCase (GraphNode closestWalkableEndNode) |
| Applies a special case for grid nodes. More...
|
|
void | UpdateStartEnd (Vector3 start, Vector3 end) |
| Sets the start and end points. More...
|
|
void | Setup (Vector3 start, Vector3 end, OnPathDelegate callbackDelegate) |
|
void | DebugStringPrefix (PathLog logMode, System.Text.StringBuilder text) |
| Writes text shared for all overrides of DebugString to the string builder. More...
|
|
void | DebugStringSuffix (PathLog logMode, System.Text.StringBuilder text) |
| Writes text shared for all overrides of DebugString to the string builder. More...
|
|
virtual void | OnEnterPool () |
| Called when the path enters the pool. More...
|
|
void | PrepareBase (PathHandler pathHandler) |
| Prepares low level path variables for calculation. More...
|
|
virtual void | Trace (PathNode from) |
| Traces the calculated path from the end node to the start. More...
|
|
|
Public Attributes inherited from RandomPath |
Vector3 | aim |
| An aim can be used to guide the pathfinder to not take totally random paths. More...
|
|
float | aimStrength |
| If an aim is set, the higher this value is, the more it will try to reach aim. More...
|
|
int | searchLength |
| G score to stop searching at. More...
|
|
int | spread = 5000 |
| All G scores between searchLength and searchLength+spread are valid end points, a random one of them is chosen as the final point. More...
|
|
bool | calculatePartial |
| Calculate partial path if the target node cannot be reached. More...
|
|
GraphNode | endNode |
| End node of the path. More...
|
|
Vector3 | endPoint |
| End point of the path. More...
|
|
Vector3 | originalEndPoint |
| End Point exactly as in the path request. More...
|
|
Vector3 | originalStartPoint |
| Start Point exactly as in the path request. More...
|
|
Int3 | startIntPoint |
| Start point in integer coordinates. More...
|
|
GraphNode | startNode |
| Start node of the path. More...
|
|
Vector3 | startPoint |
| Start point of the path. More...
|
|
OnPathDelegate | callback |
| Callback to call when the path is complete. More...
|
|
int | enabledTags = -1 |
| Which graph tags are traversable. More...
|
|
Heuristic | heuristic |
| Determines which heuristic to use. More...
|
|
float | heuristicScale = 1F |
| Scale of the heuristic values. More...
|
|
OnPathDelegate | immediateCallback |
| Immediate callback to call when the path is complete. More...
|
|
NNConstraint | nnConstraint = PathNNConstraint.Default |
| Constraint for how to search for nodes. More...
|
|
List< GraphNode > | path |
| Holds the path as a Node array. More...
|
|
ITraversalProvider | traversalProvider |
| Provides additional traversal information to a path request. More...
|
|
List< Vector3 > | vectorPath |
| Holds the (possibly post processed) path as a Vector3 list. More...
|
|
int [] | endNodeCosts |
| Saved original costs for the end node. More...
|
|
PathNode | partialBestTarget |
| Current best target for the partial path. More...
|
|
PathCompleteState | completeState |
| Backing field for CompleteState. More...
|
|
PathNode | currentR |
| The node currently being processed. More...
|
|
bool | hasBeenReset |
| True if the Reset function has been called. More...
|
|
Int3 | hTarget |
| Target to use for H score calculations. More...
|
|
GraphNode | hTargetNode |
| Target to use for H score calculation. More...
|
|
int [] | internalTagPenalties |
| The tag penalties that are actually used. More...
|
|
int [] | manualTagPenalties |
| Tag penalties set by other scripts. More...
|
|
PathHandler | pathHandler |
| Data for the thread calculating this path. More...
|
|
override string | DebugString (PathLog logMode) |
| Returns a debug string for this path. More...
|
|
override uint | GetConnectionSpecialCost (GraphNode a, GraphNode b, uint currentCost) |
| May be called by graph nodes to get a special cost for some connections. More...
|
|
uint | CalculateHScore (GraphNode node) |
| Estimated cost from the specified node to the target. More...
|
|
bool | CanTraverse (GraphNode node) |
| Returns if the node can be traversed. More...
|
|
void | FailWithError (string msg) |
| Causes the path to fail and sets errorLog to msg. More...
|
|
Int3 | GetHTarget () |
|
uint | GetTagPenalty (int tag) |
| Returns penalty for the given tag. More...
|
|
uint | GetTraversalCost (GraphNode node) |
|
void | Log (string msg) |
| Appends a message to the errorLog. More...
|
|
void | LogError (string msg) |
| Logs an error. More...
|
|
void | ReleaseSilent (System.Object o) |
| Releases the path silently (pooling). More...
|
|
float | duration |
| How long it took to calculate this path in milliseconds. More...
|
|
Path | next |
| Internal linked list implementation. More...
|
|
int | searchedNodes |
| Number of nodes this path has searched. More...
|
|
Properties inherited from RandomPath |
override bool | FloodingPath [get] |
|
override bool | hasEndPoint [get] |
|
virtual bool | hasEndPoint [get] |
| Determines if a search for an end node should be done. More...
|
|
PathCompleteState | CompleteState [get, protected set] |
| Current state of the path. More...
|
|
bool | error [get] |
| If the path failed, this is true. More...
|
|
string | errorLog [get, private set] |
| Additional info on why a path failed. More...
|
|
virtual bool | FloodingPath [get] |
| True for paths that want to search all nodes and not jump over nodes as optimizations. More...
|
|
PathHandler IPathInternals. | PathHandler [get] |
|
ushort | pathID [get, private set] |
| ID of this path. More...
|
|
PathState | PipelineState [get, private set] |
| Returns the state of the path in the pathfinding pipeline. More...
|
|
bool IPathInternals. | Pooled [get, set] |
| True if the path is currently pooled. More...
|
|
bool | recycled [get] |
| True if the path is currently recycled (i.e in the path pool). More...
|
|
int [] | tagPenalties [get, set] |
| Penalties for each tag. More...
|
|
PathHandler | PathHandler [get] |
|
bool | Pooled [get, set] |
|