//Link one node with its neighbours private void LinkWithNeighbours(MapNode node) { Coordinate neighbourCoordinate; //Loop through every direction foreach (Coordinate direction in Coordinate.directions) { //Check if node has a neighbour in given direction neighbourCoordinate = node.Position + direction; if (Map.ContainsKey(neighbourCoordinate)) { node.AddNeighbour(GetNode(neighbourCoordinate)); } } }