A* Pathfinding Project
3.8.12
The A* Pathfinding Project for Unity 3D
|
Describes a single node for the LayeredGridGraph. More...
Describes a single node for the LayeredGridGraph.
Works almost the same as a grid node, except that it also stores to which layer the connections go to
Public Member Functions | |
LevelGridNode (AstarPath astar) | |
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 | GetConnection (int i) |
Is there a grid connection in that direction. | |
override void | GetConnections (GraphNodeDelegate del) |
Calls the delegate with all connections from this node. | |
int | GetConnectionValue (int dir) |
Which layer a grid connection goes to. | |
override bool | GetPortal (GraphNode other, List< Vector3 > left, List< Vector3 > right, bool backwards) |
Add a portal from this node to the specified node. | |
bool | HasAnyGridConnections () |
Does this node have any grid connections. | |
override void | Open (Path path, PathNode pathNode, PathHandler handler) |
Open the node. | |
void | ResetAllGridConnections () |
Removes all grid connections from this node. | |
override void | SerializeNode (GraphSerializationContext ctx) |
void | SetConnectionValue (int dir, int value) |
Set which layer a grid connection goes to. | |
void | SetPosition (Int3 position) |
override void | UpdateRecursiveG (Path path, PathNode pathNode, PathHandler handler) |
Public Member Functions inherited from GridNodeBase | |
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. | |
override bool | ContainsConnection (GraphNode node) |
Checks if this node has a connection to the specified node. | |
override void | DeserializeReferences (GraphSerializationContext ctx) |
Used to deserialize references to other nodes e.g connections. | |
override void | FloodFill (System.Collections.Generic.Stack< GraphNode > stack, uint region) |
override void | GetConnections (GraphNodeDelegate del) |
Calls the delegate with all connections from this node. | |
override void | Open (Path path, PathNode pathNode, PathHandler handler) |
Open the node. | |
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 | |
void | Destroy () |
Destroys the node. | |
virtual void | RecalculateConnectionCosts () |
Recalculates all connection costs from this node. | |
Static Public Member Functions | |
static LayerGridGraph | GetGridGraph (uint graphIndex) |
static void | SetGridGraph (int graphIndex, LayerGridGraph graph) |
Public Attributes | |
const int | ConnectionMask = 0xFF |
const int | MaxLayerCount = ConnectionMask |
const int | NoConnection = 0xFF |
Public Attributes inherited from GridNodeBase | |
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 |
Position of the node in world space. | |
Protected Attributes | |
uint | gridConnections |
Protected Attributes inherited from GridNodeBase | |
ushort | gridFlags |
int | nodeInGridIndex |
Protected Attributes inherited from GraphNode | |
uint | flags |
Bitpacked field holding several pieces of data. | |
Static Protected Attributes | |
static LayerGridGraph[] | gridGraphs |
Private Attributes | |
const int | ConnectionStride = 8 |
Static Private Attributes | |
static LayerGridGraph[] | _gridGraphs = new LayerGridGraph[0] |
Additional Inherited Members | |
Protected Member Functions inherited from GridNodeBase | |
GridNodeBase (AstarPath astar) | |
Properties inherited from GridNodeBase | |
int | NodeInGridIndex [get, set] |
The index of the node in the grid. | |
bool | TmpWalkable [get, set] |
Temporary variable used internally when updating the graph. | |
bool | WalkableErosion [get, set] |
Stores walkability before erosion is applied. | |
LevelGridNode | ( | AstarPath | astar | ) |
|
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 GetConnection | ( | int | i | ) |
Is there a grid connection in that direction.
|
virtual |
Calls the delegate with all connections from this node.
Implements GraphNode.
int GetConnectionValue | ( | int | dir | ) |
Which layer a grid connection goes to.
dir | Direction for the connection. |
|
static |
|
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.
bool HasAnyGridConnections | ( | ) |
Does this node have any grid connections.
|
virtual |
Open the node.
Implements GraphNode.
void ResetAllGridConnections | ( | ) |
Removes all grid connections from this node.
|
virtual |
Reimplemented from GraphNode.
void SetConnectionValue | ( | int | dir, |
int | value | ||
) |
Set which layer a grid connection goes to.
dir | Direction for the connection. |
value | The layer of the connected node or NoConnection if there should be no connection in that direction. |
|
static |
void SetPosition | ( | Int3 | position | ) |
|
virtual |
Reimplemented from GraphNode.
|
staticprivate |
const int ConnectionMask = 0xFF |
|
private |
|
protected |
|
staticprotected |
const int MaxLayerCount = ConnectionMask |
const int NoConnection = 0xFF |