|
| GridNode (AstarPath astar) |
|
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 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.
|
|
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) |
| Removes any connection from this node to the specified 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) |
|
|
bool | EdgeNode [get, set] |
|
ushort | InternalGridFlags [get, set] |
| Internal use only.
|
|
bool | TmpWalkable [get, set] |
| Temporary variable used by graph updating.
|
|
bool | WalkableErosion [get, set] |
| Stores walkability before erosion is applied.
|
|
int | NodeInGridIndex [get, set] |
| The index of the node in the grid.
|
|
uint | Area [get, set] |
|
bool | Destroyed [get] |
|
uint | Flags [get, set] |
| Holds various bitpacked variables.
|
|
uint | GraphIndex [get, set] |
|
int | NodeIndex [get] |
| Internal unique index.
|
|
uint | Penalty [get, set] |
| Penalty cost for walking on this node.
|
|
uint | Tag [get, set] |
|
bool | Walkable [get, set] |
| True if the node is traversable.
|
|
override void AddConnection |
( |
GraphNode |
node, |
|
|
uint |
cost |
|
) |
| |
|
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.
- Note
- Only adds a one-way connection. Consider calling the same function on the other node to get a two-way connection.
Implements GraphNode.
override void ClearConnections |
( |
bool |
alsoReverse | ) |
|
|
virtual |
Remove all connections from this node.
- Parameters
-
alsoReverse | if true, neighbours will be requested to remove connections to this node. |
Implements GraphNode.
override void FloodFill |
( |
Stack< GraphNode > |
stack, |
|
|
uint |
region |
|
) |
| |
|
virtual |
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:
[0] = -Y
[1] = +X
[2] = +Y
[3] = -X
[4] = -Y+X
[5] = +Y+X
[6] = +Y-X
[7] = -Y-X
- See Also
- SetConnectionInternal
Calls the delegate with all connections from this node.
Implements GraphNode.
static GridGraph GetGridGraph |
( |
uint |
graphIndex | ) |
|
|
static |
override bool GetPortal |
( |
GraphNode |
other, |
|
|
List< Vector3 > |
left, |
|
|
List< Vector3 > |
right, |
|
|
bool |
backwards |
|
) |
| |
|
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).
- Parameters
-
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. |
- Returns
- True if the call was deemed successful. False if some unknown case was encountered and no portal could be added. If both calls to node1.GetPortal (node2,...) and node2.GetPortal (node1,...) return false, the funnel modifier will fall back to adding to the path the positions of the node.
The default implementation simply returns false.
This function may add more than one portal if necessary.
- See Also
- http://digestingduck.blogspot.se/2010/03/simple-stupid-funnel-algorithm.html
Reimplemented from GraphNode.
override void RemoveConnection |
( |
GraphNode |
node | ) |
|
|
virtual |
Removes any connection from this node to the specified node.
If no such connection exists, nothing will be done.
- Note
- This only removes the connection from this node to the other node. You may want to call the same function on the other node to remove its eventual connection to this node.
Implements GraphNode.
void ResetConnectionsInternal |
( |
| ) |
|
Disables all grid connections from this node.
- Note
- Other nodes might still be able to get to this node. Therefore it is recommended to also disable the relevant connections on adjacent nodes.
void SetConnectionInternal |
( |
int |
dir, |
|
|
bool |
value |
|
) |
| |
static void SetGridGraph |
( |
int |
graphIndex, |
|
|
GridGraph |
graph |
|
) |
| |
|
static |
const int GridFlagsConnectionMask = 0xFF << GridFlagsConnectionOffset |
|
private |
const int GridFlagsConnectionOffset = 0 |
|
private |
const int GridFlagsEdgeNodeOffset = 10 |
|
private |
const int GridFlagsWalkableErosionOffset = 8 |
|
private |
const int GridFlagsWalkableTmpOffset = 9 |
|
private |
Temporary variable used by graph updating.
Stores walkability before erosion is applied.
Used by graph updating.
The documentation for this class was generated from the following file:
- /Users/arong/Unity/a-pathfinding-project/Assets/AstarPathfindingProject/Generators/NodeClasses/GridNode.cs