public void LocalVisit(visitRoutineArgs f, VisitData args, HexCoords origin, int distance) { if (!visited && (this.coords - origin).radius() <= distance) { visited = true; f(this, args); foreach (Node node in neighbors) { if (node != null) { node.LocalVisit(f, args, origin, distance); } } } }
public void Visit(visitRoutineArgs f, VisitData args) { if (!visited) { visited = true; f(this, args); foreach (Node node in neighbors) { if (node != null) { node.Visit(f, args); } } } }