A* Pathfinding Project
4.0.4
The A* Pathfinding Project for Unity 3D
|
Public Member Functions | |
override void | AddConnection (GraphNode node, uint cost) |
Add a connection from this node to the specified node. | |
override void | ClearConnections (bool alsoReverse) |
Remove all connections from this node. | |
abstract Vector3 | ClosestPointOnNode (Vector3 p) |
abstract Vector3 | ClosestPointOnNodeXZ (Vector3 p) |
override bool | ContainsConnection (GraphNode node) |
Checks if this node has a connection to the specified node. | |
virtual bool | ContainsPoint (Int3 p) |
Checks if p is inside the node in XZ space. | |
override void | DeserializeReferences (GraphSerializationContext ctx) |
Used to deserialize references to other nodes e.g connections. | |
override void | FloodFill (Stack< GraphNode > stack, uint region) |
override void | GetConnections (System.Action< GraphNode > action) |
Calls the delegate with all connections from this node. | |
override int | GetGizmoHashCode () |
Hash code used for checking if the gizmos need to be updated. | |
abstract Int3 | GetVertex (int i) |
abstract int | GetVertexCount () |
override void | RemoveConnection (GraphNode node) |
Removes any connection from this node to the specified node. | |
override void | SerializeReferences (GraphSerializationContext ctx) |
Used to serialize references to other nodes e.g connections. | |
override void | UpdateRecursiveG (Path path, PathNode pathNode, PathHandler handler) |
Public Member Functions inherited from GraphNode | |
virtual void | DeserializeNode (GraphSerializationContext ctx) |
virtual bool | GetPortal (GraphNode other, List< Vector3 > left, List< Vector3 > right, bool backwards) |
Add a portal from this node to the specified node. | |
abstract void | Open (Path path, PathNode pathNode, PathHandler handler) |
Open the node. | |
virtual Vector3 | RandomPointOnSurface () |
A random point on the surface of the node. | |
virtual void | RecalculateConnectionCosts () |
Recalculates all connection costs from this node. | |
virtual void | SerializeNode (GraphSerializationContext ctx) |
virtual float | SurfaceArea () |
The surface area of the node in square world units. | |
void | UpdateG (Path path, PathNode pathNode) |
Public Attributes | |
Connection[] | connections |
All connections from this node. | |
Public Attributes inherited from GraphNode | |
const uint | MaxAreaIndex = FlagsAreaMask >> FlagsAreaOffset |
const uint | MaxGraphIndex = FlagsGraphMask >> FlagsGraphOffset |
Max number of graphs-1. | |
Int3 | position |
Position of the node in world space. | |
Protected Member Functions | |
MeshNode (AstarPath astar) | |
Protected Member Functions inherited from GraphNode | |
GraphNode (AstarPath astar) | |
Constructor for a graph node. | |
Additional Inherited Members | |
Protected Attributes inherited from GraphNode | |
uint | flags |
Bitpacked field holding several pieces of data. | |
Package Functions inherited from GraphNode | |
void | Destroy () |
Destroys the node. | |
Properties inherited from GraphNode | |
uint | Area [get, set] |
Connected component that contains the node. | |
bool | Destroyed [get] |
uint | Flags [get, set] |
Holds various bitpacked variables. | |
uint | GraphIndex [get, set] |
Graph which contains this node. | |
int | NodeIndex [get] |
Internal unique index. | |
uint | Penalty [get, set] |
Penalty cost for walking on this node. | |
uint | Tag [get, set] |
Node tag. | |
bool | Walkable [get, set] |
True if the node is traversable. | |
|
virtual |
Add a connection from this node to the specified node.
If the connection already exists, the cost will simply be updated and no extra connection added.
Implements GraphNode.
|
virtual |
Remove all connections from this node.
alsoReverse | if true, neighbours will be requested to remove connections to this node. |
Implements GraphNode.
|
pure virtual |
Implemented in TriangleMeshNode.
|
pure virtual |
Implemented in TriangleMeshNode.
|
virtual |
Checks if this node has a connection to the specified node.
Reimplemented from GraphNode.
|
virtual |
Checks if p is inside the node in XZ space.
The default implementation uses XZ space and is in large part got from the website linked below
The TriangleMeshNode overrides this and implements faster code for that case.
Reimplemented in TriangleMeshNode.
|
virtual |
Used to deserialize references to other nodes e.g connections.
Use the GraphSerializationContext.GetNodeIdentifier and GraphSerializationContext.GetNodeFromIdentifier methods for serialization and deserialization respectively.
Nodes must override this method and serialize their connections. Graph generators do not need to call this method, it will be called automatically on all nodes at the correct time by the serializer.
Reimplemented from GraphNode.
|
virtual |
Reimplemented from GraphNode.
|
virtual |
Calls the delegate with all connections from this node.
You can add all connected nodes to a list like this
Implements GraphNode.
|
virtual |
Hash code used for checking if the gizmos need to be updated.
Will change when the gizmos for the node might change.
Reimplemented from GraphNode.
|
pure virtual |
Implemented in TriangleMeshNode.
|
pure virtual |
Implemented in TriangleMeshNode.
|
virtual |
Removes any connection from this node to the specified node.
If no such connection exists, nothing will be done.
Implements GraphNode.
|
virtual |
Used to serialize references to other nodes e.g connections.
Use the GraphSerializationContext.GetNodeIdentifier and GraphSerializationContext.GetNodeFromIdentifier methods for serialization and deserialization respectively.
Nodes must override this method and serialize their connections. Graph generators do not need to call this method, it will be called automatically on all nodes at the correct time by the serializer.
Reimplemented from GraphNode.
|
virtual |
Reimplemented from GraphNode.
Reimplemented in TriangleMeshNode.
Connection [] connections |
All connections from this node.