Node used for the GridGraph.
|
| GridNode (AstarPath astar) |
|
override void | ClearConnections (bool alsoReverse) |
| Remove all connections from this node.
|
|
Vector3 | ClosestPointOnNode (Vector3 p) |
|
override void | DeserializeNode (GraphSerializationContext ctx) |
|
override void | FloodFill (Stack< GraphNode > stack, uint region) |
|
bool | GetConnectionInternal (int dir) |
| True if the node has a connection in the specified direction.
|
|
override void | GetConnections (System.Action< GraphNode > action) |
| Calls the delegate with all connections from this node.
|
|
override GridNodeBase | GetNeighbourAlongDirection (int direction) |
| Adjacent grid node in the specified direction.
|
|
override bool | GetPortal (GraphNode other, List< Vector3 > left, List< Vector3 > right, bool backwards) |
| Add a portal from this node to the specified node.
|
|
bool | HasConnectionInDirection (int dir) |
| True if the node has a connection in the specified direction.
|
|
override void | Open (Path path, PathNode pathNode, PathHandler handler) |
| Open the node.
|
|
void | ResetConnectionsInternal () |
| Disables all grid connections from this node.
|
|
override void | SerializeNode (GraphSerializationContext ctx) |
|
void | SetAllConnectionInternal (int connections) |
| Sets the state of all grid connections.
|
|
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) |
|
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.
|
|
void | ClearCustomConnections (bool alsoReverse) |
| Same as ClearConnections, but does not clear grid connections, only custom ones (e.g added by AddConnection or a NodeLink component)
|
|
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 (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.
|
|
override void | Open (Path path, PathNode pathNode, PathHandler handler) |
| Open the node.
|
|
override Vector3 | RandomPointOnSurface () |
| A random point on the surface of 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 float | SurfaceArea () |
| The surface area of the node in square world units.
|
|
override void | UpdateRecursiveG (Path path, PathNode pathNode, PathHandler handler) |
|
virtual void | RecalculateConnectionCosts () |
| Recalculates all connection costs from this node.
|
|
|
bool | EdgeNode [get, set] |
| Work in progress for a feature that required info about which nodes were at the border of the graph.
|
|
override bool | HasConnectionsToAllEightNeighbours [get] |
|
ushort | InternalGridFlags [get, set] |
| Internal use only.
|
|
abstract bool | HasConnectionsToAllEightNeighbours [get] |
| True if the node has grid connections to all its 8 neighbours.
|
|
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.
|
|
int | XCoordinateInGrid [get] |
| X coordinate of the node in the grid.
|
|
int | ZCoordinateInGrid [get] |
| Z coordinate of the node in the grid.
|
|
uint | Area [get, set] |
| Connected component that contains the node.
|
|
bool | Destroyed [get] |
|
uint | Flags [get, set] |
| Holds various bitpacked variables.
|
|
NavGraph | Graph [get] |
| Graph which this node belongs to.
|
|
uint | GraphIndex [get, set] |
| Graph which contains this node.
|
|
int | NodeIndex [get, set] |
| Internal unique index.
|
|
uint | Penalty [get, set] |
| Penalty cost for walking on this node.
|
|
uint | Tag [get, set] |
| Node tag.
|
|
bool | TemporaryFlag1 [get, set] |
| Temporary flag for internal purposes.
|
|
bool | TemporaryFlag2 [get, set] |
| Temporary flag for internal purposes.
|
|
bool | Walkable [get, set] |
| True if the node is traversable.
|
|
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.