|
A* Pathfinding Project
3.6
The A* Pathfinding Project for Unity 3D
|
Public Member Functions | |
| GridNode (AstarPath astar) | |
| override void | AddConnection (GraphNode node, uint cost) |
| override void | ClearConnections (bool alsoReverse) |
| Remove all connections from this node. | |
| override void | DeserializeNode (GraphSerializationContext ctx) |
| override void | FloodFill (Stack< GraphNode > stack, uint region) |
| bool | GetConnectionInternal (int dir) |
| Returns true if the node has a connection in the specified direction. | |
| override void | GetConnections (GraphNodeDelegate del) |
| Calls the delegate with all connections from this node. | |
| int | GetIndex () |
| override bool | GetPortal (GraphNode other, List< Vector3 > left, List< Vector3 > right, bool backwards) |
| Add a portal from this node to the specified node. | |
| override void | Open (Path path, PathNode pathNode, PathHandler handler) |
| Open the node. | |
| override void | RemoveConnection (GraphNode node) |
| void | ResetConnectionsInternal () |
| Disables all grid connections from this node. | |
| override void | SerializeNode (GraphSerializationContext ctx) |
| void | SetConnectionInternal (int dir, bool value) |
| Enables or disables a connection in a specified direction on the graph. | |
| override void | UpdateRecursiveG (Path path, PathNode pathNode, PathHandler handler) |
Public Member Functions inherited from GraphNode | |
| GraphNode (AstarPath astar) | |
| Constructor for a graph node. | |
| virtual bool | ContainsConnection (GraphNode node) |
| Checks if this node has a connection to the specified node. | |
| virtual void | DeserializeReferences (GraphSerializationContext ctx) |
| Used to deserialize references to other nodes e.g connections. | |
| void | Destroy () |
| Destroys the node. | |
| virtual void | RecalculateConnectionCosts () |
| Recalculates all connection costs from this node. | |
| virtual void | SerializeReferences (GraphSerializationContext ctx) |
| Used to serialize references to other nodes e.g connections. | |
| void | UpdateG (Path path, PathNode pathNode) |
Static Public Member Functions | |
| static GridGraph | GetGridGraph (uint graphIndex) |
| static void | SetGridGraph (int graphIndex, GridGraph graph) |
Public Attributes | |
| uint[] | connectionCosts |
| GraphNode[] | connections |
Public Attributes inherited from GraphNode | |
| const uint | MaxAreaIndex = FlagsAreaMask >> FlagsAreaOffset |
| const uint | MaxGraphIndex = FlagsGraphMask >> FlagsGraphOffset |
| Max number of graphs-1. | |
| Int3 | position |
Protected Attributes | |
| ushort | gridFlags |
| int | nodeInGridIndex |
Protected Attributes inherited from GraphNode | |
| uint | flags |
Properties | |
| bool | EdgeNode [get, set] |
| ushort | InternalGridFlags [get, set] |
| Internal use only. | |
| int | NodeInGridIndex [get, set] |
| The index of the node in the grid. | |
| bool | TmpWalkable [get, set] |
| Temporary variable used by graph updating. | |
| bool | WalkableErosion [get, set] |
| Stores walkability before erosion is applied. | |
Properties inherited from GraphNode | |
| uint | Area [get, set] |
| bool | Destroyed [get] |
| uint | Flags [get, set] |
| Holds various bitpacked variables. | |
| uint | graphIndex [get, set] |
| uint | GraphIndex [get, set] |
| int | NodeIndex [get] |
| uint | Penalty [get, set] |
| Penalty cost for walking on this node. | |
| Int3 | Position [get] |
| uint | Tag [get, set] |
| uint | tags [get, set] |
| bool | walkable [get, set] |
| bool | Walkable [get, set] |
| True if the node is traversable. | |
Private Attributes | |
| const int | GridFlagsConnectionBit0 = 1 << GridFlagsConnectionOffset |
| const int | GridFlagsConnectionMask = 0xFF << GridFlagsConnectionOffset |
| const int | GridFlagsConnectionOffset = 0 |
| const int | GridFlagsEdgeNodeMask = 1 << GridFlagsEdgeNodeOffset |
| const int | GridFlagsEdgeNodeOffset = 10 |
| const int | GridFlagsWalkableErosionMask = 1 << GridFlagsWalkableErosionOffset |
| const int | GridFlagsWalkableErosionOffset = 8 |
| const int | GridFlagsWalkableTmpMask = 1 << GridFlagsWalkableTmpOffset |
| const int | GridFlagsWalkableTmpOffset = 9 |
Static Private Attributes | |
| static GridGraph[] | _gridGraphs = new GridGraph[0] |
|
virtual |
Remove all connections from this node.
| alsoReverse | if true, neighbours will be requested to remove connections to this node. |
Implements GraphNode.
|
virtual |
Reimplemented from GraphNode.
|
virtual |
Reimplemented from GraphNode.
| bool GetConnectionInternal | ( | int | dir | ) |
Returns true if the node has a connection in the specified direction.
The dir parameter corresponds to directions in the grid as:
|
virtual |
Calls the delegate with all connections from this node.
Implements GraphNode.
|
static |
| int GetIndex | ( | ) |
|
virtual |
Add a portal from this node to the specified node.
This function should add a portal to the left and right lists which is connecting the two nodes (this and other).
| other | The node which is on the other side of the portal (strictly speaking it does not actually have to be on the other side of the portal though). |
| left | List of portal points on the left side of the funnel |
| right | List of portal points on the right side of the funnel |
| backwards | If this is true, the call was made on a node with the other node as the node before this one in the path. In this case you may choose to do nothing since a similar call will be made to the other node with this node referenced as other (but then with backwards = true). You do not have to care about switching the left and right lists, that is done for you already. |
The default implementation simply returns false.
This function may add more than one portal if necessary.
Reimplemented from GraphNode.
|
virtual |
Open the node.
Implements GraphNode.
| void ResetConnectionsInternal | ( | ) |
Disables all grid connections from this node.
|
virtual |
Reimplemented from GraphNode.
| void SetConnectionInternal | ( | int | dir, |
| bool | value | ||
| ) |
Enables or disables a connection in a specified direction on the graph.
|
static |
|
virtual |
Reimplemented from GraphNode.
| uint [] connectionCosts |
| GraphNode [] connections |
|
protected |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
protected |
|
getset |
|
getsetpackage |
Internal use only.
|
getset |
The index of the node in the grid.
This is z*graphWidth + x. So you can get the X and Z indices using int index = node.NodeInGridIndex; int x = index % graph.width; int z = index / graph.width; // where graph is GridNode.GetGridGraph (node.graphIndex), i.e the graph the nodes are contained in.
|
getset |
Temporary variable used by graph updating.
|
getset |
Stores walkability before erosion is applied.
Used by graph updating.