public void LocalVisit(visitRoutine f, HexCoords origin, int distance) { if (!visited && (this.coords - origin).radius() <= distance) { visited = true; f(this); foreach (Node node in neighbors) { if (node != null) { node.LocalVisit(f, origin, distance); } } } }
public void Visit(visitRoutine f) { if (!visited) { visited = true; f(this); for (int ii = 0; ii < 3; ii++) { if (neighbors[ii] != null) { neighbors[ii].Visit(f); } } } }
public void Visit(visitRoutine f) { if (!visited) { visited = true; f(this); foreach (Node node in neighbors) { if (node != null) { node.Visit(f); } } } }
public void Visit(visitRoutine f) { if (!visited) { visited = true; f(this); for (int ii = 0; ii < 2; ii++) { for (int jj = 0; jj < 3; jj++) { if (vertices[ii].paths[jj] != null) { vertices[ii].paths[jj].Visit(f); } } } } }