Class RandomPath Extends ABPath

Public

Finds a path in a random direction from the start node.

Terminates and returns when G >= length (passed to the constructor) + RandomPath.spread or when there are no more nodes left to search.
// Call a RandomPath call like this, assumes that a Seeker is attached to the GameObject

// The path will be returned when the path is over a specified length (or more accurately when the traversal cost is greater than a specified value).
// A score of 1000 is approximately equal to the cost of moving one world unit.
int theGScoreToStopAt = 50000;

// Create a path object
RandomPath path = RandomPath.Construct(transform.position, theGScoreToStopAt);
// Determines the variation in path length that is allowed
path.spread = 5000;

// Get the Seeker component which must be attached to this GameObject
Seeker seeker = GetComponent<Seeker>();

// Start the path and return the result to MyCompleteFunction (which is a function you have to define, the name can of course be changed)
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

Public Methods

OnVisitNode (pathNode, hScore, gScore)

Called for every node that the path visits.

Public Variables

aim

An aim can be used to guide the pathfinder to not take totally random paths.

Public
aimStrength

If an aim is set, the higher this value is, the more it will try to reach aim.

Public
endPointKnownBeforeCalculation

True if this path type has a well defined end point, even before calculation starts.

Public
searchLength

G score to stop searching at.

Public
spread

All G scores between searchLength and searchLength+spread are valid end points, a random one of them is chosen as the final point.

Public

Inherited Public Members

Blocks until this path has been calculated and returned.

CanTraverse (...)

Returns if the...

Claim (o)

Increase the reference count on this path by 1 (for pooling).

CompleteState

Current state of the path.

Public
Construct (start, ..., [callback])

Error ()

Aborts the path because of an error.

Causes the path to fail and sets errorLog to msg.

FakePath (vectorPath, nodePath=null)

Creates a fake path.

Returns penalty for the given tag.

Total Length of the path.

Returns the cost of traversing the given node.

IsDone ()

True if this path is done calculating.

MarkerOpenCandidateConnectionsToEnd
Public Static Readonly
MarkerTrace
Public Static Readonly
OpenCandidateConnection (parentPathNode, targetPathNode, parentG, connectionCost, fractionAlongEdge, targetNodePosition)

Opens a connection between two nodes during the A* search.

OpenCandidateConnectionBurst (pars, heap, heuristicObjective)

Burst-compiled internal implementation of OpenCandidateConnection.

OpenCandidateConnectionsToEndNode (position, parentPathNode, parentNodeIndex, parentG)

Open a connection to the temporary end node if necessary.

PipelineState

Returns the state of the path in the pathfinding pipeline.

Public
Release (o, silent=…)

Reduces the reference count on the path by 1 (pooling).

ShouldConsiderPathNode (pathNodeIndex)

True if this path node might be worth exploring.

SkipOverNode (pathNodeIndex, parentNodeIndex, fractionAlongEdge, hScore, gScore)

Paths use this to skip adding nodes to the search heap.

UseSettings (settings)

Copies the given settings into this path.

Waits until this path has been calculated and returned.

calculatePartial

Calculate partial path if the target node cannot be reached.

Public
callback

Callback to call when the path is complete.

Public
cost

Total cost of this path as used by the pathfinding algorithm.

Public
duration

How long it took to calculate this path in milliseconds.

Public
enabledTags

Which graph tags are traversable.

Public
endNode

End node of the path.

Public
endPoint

End point of the path.

Public
endPointKnownBeforeCalculation

True if this path type has a well defined end point, even before calculation starts.

Public
endingCondition

Optional ending condition for the path.

Public
error

If the path failed, this is true.

Public
errorLog

Additional info on why a path failed.

Public
heuristic

Determines which heuristic to use.

Public
heuristicScale

Scale of the heuristic values.

Public
immediateCallback

Immediate callback to call when the path is complete.

Public
nnConstraint

Constraint for how to search for nodes.

Public
originalEndPoint

End Point exactly as in the path request.

Public
originalStartPoint

Start Point exactly as in the path request.

Public
path

Holds the path as a GraphNode list.

Public
pathID

ID of this path.

Public
searchedNodes

Number of nodes this path has searched.

Public
startNode

Start node of the path.

Public
startPoint

Start point of the path.

Public
tagPenalties

Penalties for each tag.

Public
traversalProvider

Provides additional traversal information to a path request.

Public
vectorPath

Holds the (possibly post-processed) path as a Vector3 list.

Public

Private/Protected Members

CalculateStep (targetTick)

Calculates the path until completed or until the time has passed targetTick.

Cleanup ()

Always called after the path has been calculated.

DebugString (logMode)

Returns a debug string for this path.

DebugStringPrefix (logMode, text)

Writes text shared for all overrides of DebugString to the string builder.

DebugStringSuffix (logMode, text)

Writes text shared for all overrides of DebugString to the string builder.

EndPointGridGraphSpecialCase (closestWalkableEndNode, originalEndPoint, targetIndex)

Applies a special case for grid nodes.

GetNearest (point)

Closest point and node which is traversable by this path.

Called when the path enters the pool.

OnFoundEndNode (pathNode, hScore, gScore)

Called when a valid node has been found for the end of the path.

Called when there are no more nodes to search.

Prepare ()

Prepares the path.

PrepareBase (pathHandler)

Prepares low level path variables for calculation.

Reset ()

Reset all values to their default values.

Calls callback to return the calculated path.

Setup (start, ...)
Trace (fromPathNodeIndex, [reverse])

UpdateStartEnd (start, end)

Sets the start and end points.

ZeroTagPenalties

List of zeroes to use as default tag penalties.

Internal Static Readonly
chosenPathNodeGScore
Private
chosenPathNodeIndex

Currently chosen end node.

Private
completeState

Backing field for CompleteState.

Protected
hTargetNode

Target to use for H score calculation.

Protected
hasBeenReset

True if the Reset function has been called.

Protected
hasEndPoint

Determines if a search for an end node should be done.

Protected
hasEndPoint

Determines if a search for an end node should be done.

Protected
heuristicObjective

Target to use for H score calculations.

Protected
heuristicObjectiveInternal
Internal
internalTagPenalties

The tag penalties that are actually used.

Protected
maxGScore

The G score of maxGScorePathNodeIndex.

Private
maxGScorePathNodeIndex

The node with the highest G score which is still lower than searchLength.

Private
nodesEvaluatedRep
Private
partialBestTargetGScore
Protected
partialBestTargetHScore
Protected
partialBestTargetPathNodeIndex

Current best target for the partial path.

Protected
pathHandler

Data for the thread calculating this path.

Protected
rnd

Random number generator.

Private Readonly