Class GridNode Extends GridNodeBase

Public

Node used for the GridGraph.

Public Methods

Deserializes the node data from a byte array.

Bitpacked int containing all 8 grid connections.

Adjacent grid node in the specified direction.

GridNode ([...])

True if the node has a connection in the specified direction.

Disables all grid connections from this node.

Serialized the node data to a byte array.

SetAllConnectionInternal (connections)

Sets the state of all grid connections.

SetConnection (dir, value)

Enables or disables a connection in a specified direction on the graph.

SetConnectionInternal (dir, value)

Enables or disables a connection in a specified direction on the graph.

Public Static Methods

ClearGridGraph (graphIndex, graph)
FilterDiagonalConnections (conns, neighbours, cutCorners)

Filters diagonal connections based on the non-diagonal ones to prevent corner cutting and similar things.

GetGridGraph (graphIndex)
SetGridGraph (graphIndex, graph)

Public Variables

EdgeNode

Work in progress for a feature that required info about which nodes were at the border of the graph.

Public
HasAnyGridConnections

True if this node has any grid connections.

Public
HasConnectionsToAllAxisAlignedNeighbours

True if the node has grid connections to all its 4 axis-aligned neighbours.

Public
HasConnectionsToAllEightNeighbours

True if the node has grid connections to all its 8 neighbours.

Public

Inherited Public Members

AddPartialConnection (node, cost, isOutgoing, isIncoming)

Add a connection from this node to the specified node.

Area

Connected component that contains the node.

Public
ClearConnections (alsoReverse)

Remove all connections between this node and other nodes.

ClearCustomConnections (alsoReverse)

Same as ClearConnections, but does not clear grid connections, only custom ones (e.g added by AddConnection or a NodeLink component)

Closest point on the surface of this node to the point p.

Connect (lhs, rhs, cost, directionality=…)

Adds a connection between two nodes.

True if this node contains a connection to the given node.

ContainsPoint (point)

Checks if point is inside the node when seen from above.

Checks if point is inside the node in graph space.

CoordinatesInGrid

The X and Z coordinates of the node in the grid.

Public
DecodeVariantPosition (pathNodeIndex, fractionAlongEdge)

The position of the path node during the search.

Used to deserialize references to other nodes e.g connections.

Destroy ()

Destroys the node.

Destroyed
Public
DestroyedNodeIndex
Public Static
Disconnect (lhs, rhs)

Removes the connection between two nodes.

Flags

Holds various bitpacked variables.

Public
GetConnections (action, [...])

Calls the delegate with all connections from...

Hash code used for checking if the gizmos need to be updated.

GetPortal (other, left, right, [backwards])

Add a portal from this node to the specified node.

Graph

Graph which this node belongs to.

Public
GraphIndex

Graph which contains this node.

Public
InvalidGraphIndex
Public Static
InvalidNodeIndex
Public Static
MaxGraphIndex

Max number of graphs-1.

Public Static
MaxHierarchicalNodeIndex
Public Static
MaxTagIndex

Max number of tags - 1.

Public Static
NodeInGridIndex

The index of the node in the grid.

Public
NodeInGridIndexLayerOffset
Public Static
NodeIndex

Internal unique index.

Public
NormalizePoint (worldPoint)

Transforms a world space point to a normalized point on this node's surface.

Converts from a delta (dx, dz) to a neighbour direction.

Open (path, pathNodeIndex, gScore)

Open the node.

OpenAtPoint (path, pathNodeIndex, position, gScore)

Open the node at a specific point.

The connection opposite the given one.

Penalty

Penalty cost for walking on this node.

Public

Projects the given point onto the plane of this node's surface.

A random point on the surface of the node.

Removes any connection from this node to the specified node.

Used to serialize references to other nodes e.g connections.

Inform the system that the node's connectivity has changed.

The surface area of the node in square world units.

Tag

Node tag.

Public
TmpWalkable

Temporary variable used internally when updating the graph.

Public
UnNormalizePoint (normalizedPointOnSurface)

Transforms a normalized point on this node's surface to a world space point.

Walkable

True if the node is traversable.

Public
WalkableErosion

Stores walkability before erosion is applied.

Public
XCoordinateInGrid

X coordinate of the node in the grid.

Public
ZCoordinateInGrid

Z coordinate of the node in the grid.

Public
connections

Custon non-grid connections from this node.

Public
position

Position of the node in world space.

Public

Private/Protected Members

GridFlagsAxisAlignedConnectionMask
Private Static
GridFlagsConnectionBit0
Private Static
GridFlagsConnectionMask
Private Static
GridFlagsConnectionOffset
Private Static
GridFlagsEdgeNodeMask
Private Static
GridFlagsEdgeNodeOffset
Private Static
HierarchicalNodeIndex

Hierarchical Node that contains this node.

Internal
InternalGridFlags

Internal use only.

Internal
IsHierarchicalNodeDirty

Some internal bookkeeping.

Internal
NodeInGridIndexMask
Protected Static
PathNodeVariants

How many path node variants should be created for each node.

Internal

Removes a connection from the internal grid connections.

TemporaryFlag1

Temporary flag for internal purposes.

Internal
TemporaryFlag2

Temporary flag for internal purposes.

Internal
_gridGraphs
Private Static
flags

Bitpacked field holding several pieces of data.

Protected
gridFlags
Protected
nodeInGridIndex

Bitfield containing the x and z coordinates of the node as well as the layer (for layered grid graphs).

Protected
offsetToDirection

Converts from dx + 3*dz to a neighbour direction.

Internal Static Readonly