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; } } }
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; }