Пример #1
0
 private void FillNeighbors(VoronoiTile node, Material replacement, int plateNumber)
 {
     if (node.processed == false)
     {
         node.GetComponent<MeshRenderer>().material = replacement;
         node.plate = plateNumber;
         node.processed = true;
     }
     foreach (var neighbor in node.neighbors)
     {
         if (neighbor.processed == false)
         {
             neighbor.GetComponent<MeshRenderer>().material = replacement;
             neighbor.plate = plateNumber;
             neighbor.processed = true;
         }
     }
 }
Пример #2
0
 private VoronoiTile FindClosestTile(VoronoiTile tile, ref List<VoronoiTile> samples)
 {
     VoronoiTile closest = tile;
     bool isFirst = true;
     float smallestDistance = 0;
     foreach (var sample in samples)
     {
         float distance = Vector3.Distance(sample.centerPoint, tile.centerPoint);
         if (isFirst || distance < smallestDistance)
         {
             smallestDistance = distance;
             closest = sample;
             isFirst = false;
         }
     }
     return closest;
 }