Class

GKGraphNode

A single node in a navigation graph for use in pathfinding.

Declaration

@interface GKGraphNode : NSObject

Overview

A set of connected nodes form a graph that describes the navigability of a game world. Use graph nodes together with a GKGraph object (or one of its subclasses) to perform actions that relate to the network of nodes as a whole, such as pathfinding to determine routes through the network.

This class describes the general features of graph nodes, but does not contain geometry information that relates the graph to a game world. You can construct a graph with this class or any of its subclasses:

  • On its own, the GKGraphNode class is useful for worlds such as board games, where the connections between nodes are important but their spatial position has no effect on gameplay.

  • Create GKGridGraphNode objects (for use with the GKGridGraph class) to model worlds where movement is constrained to a two-dimensional integer grid.

  • Create GKGraphNode2D objects to model worlds that allow full freedom of movement in a two-dimensional plane. Use these nodes together with the GKObstacleGraph or GKMeshGraph class to create graphs that route around impassable obstacles.

  • Create GKGraphNode3D objects to model worlds that allow full freedom of movement in three-dimensional space.

To learn more about graphs and pathfinding, see Pathfinding in GameplayKit Programming Guide.

Topics

Working with Connections

connectedNodes

The list of other nodes connected to this node.

- addConnectionsToNodes:bidirectional:

Connects this node to all nodes in the specified list.

- removeConnectionsToNodes:bidirectional:

Removes the connections from this node to the specified nodes.

Computing Traversal Costs

- costToNode:

Returns the cost to travel from this node to the specified, directly connected, node.

- estimatedCostToNode:

Returns an underestimate of the cost of travel from this node to the specified node.

Finding Paths

- findPathToNode:

Computes and returns a sequence of nodes that represents the lowest-cost graph traversal from this node to the specified node.

- findPathFromNode:

Computes and returns a sequence of nodes that represents the lowest-cost graph traversal from the specified node to this node.

Relationships

Inherits From

Conforms To

See Also

Pathfinding

GKGraph

A collection of nodes that describes the navigability of a game world and provides pathfinding methods to search for routes through that space.

GKObstacleGraph

A navigation graph for 2D game worlds that creates a minimal network for precise pathfinding around obstacles.

GKMeshGraph

A navigation graph for 2D game worlds that creates a space-filling network for smooth pathfinding around obstacles.

GKGridGraph

A navigation graph for 2D game worlds where movement is constrained to an integer grid.

GKGraphNode2D

A node in a navigation graph, associated with a point in continuous 2D space.

GKGraphNode3D

A node in a navigation graph, associated with a point in continuous 3D space.

GKGridGraphNode

A node in a navigation graph, associated with a position on a discrete two-dimensional grid.