Exemple #1
0
 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);
             }
         }
     }
 }
Exemple #2
0
 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);
             }
         }
     }
 }
Exemple #3
0
 public void Visit(visitRoutine f)
 {
     if (!visited)
     {
         visited = true;
         f(this);
         foreach (Node node in neighbors)
         {
             if (node != null)
             {
                 node.Visit(f);
             }
         }
     }
 }
Exemple #4
0
 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);
                 }
             }
         }
     }
 }