unlockConnection(from:to:)
Allows the specified nodes to be disconnected due to the addition of obstacles.
Declaration
func unlockConnection(from startNode: NodeType, to endNode: NodeType)Parameters
- startNode:
A node in the graph.
- endNode:
Another node in the graph to which the node
startNodeis directly connected.
Discussion
By default, adding obstacles with the addObstacles(_:) method disconnects pairs of nodes if the direct path between them intersects an obstacle. This behavior ensures that using the findPathBetweenNodes:toNode: method does not result in a path through the graph that crosses obstacles.
With certain nodes, such as those you add with the connectUsingObstacles(node:) method to represent the position of a game character or objective, this behavior might not be desirable. For example, if you add an obstacle that overlaps a character’s current position, the character should be able to find a path that exits the obstacle. In this case, use the lockConnection(from:to:) method to protect the connection between the character’s node and a neighboring node from being automatically destroyed. If you later rearrange nodes so that such protection is no longer necessary, use the unlockConnection(from:to:) method to remove it.