public Dictionary <Vector2, List <Vector2> > GenDelaunay()
{
Dictionary <Vector2, List <Vector2> > points = new Dictionary <Vector2, List <Vector2> >();
int m_pointCount = 20;
List <Vector2> m_points;
float m_mapWidth = 25;
float m_mapHeight = 12;
List <LineSegment> m_edges = null;
List <LineSegment> m_spanningTree;
List <LineSegment> m_delaunayTriangulation;
List <uint> colors = new List <uint>();
m_points = new List <Vector2>();
for (int i = 0; i < m_pointCount; i++)
{
colors.Add(0);
m_points.Add(new Vector2(
Random.Range(2f, m_mapWidth - 2f),
Random.Range(2f, m_mapHeight))
);
}
Delaunay.Voronoi v = new Delaunay.Voronoi(m_points, colors, new Rect(2f, 2f, m_mapWidth, m_mapHeight));
m_edges = v.VoronoiDiagram();
m_spanningTree = v.SpanningTree(KruskalType.MINIMUM);
m_delaunayTriangulation = v.DelaunayTriangulation();
foreach (Vector2 coord in m_points)
{
points.Add(coord, v.NeighborSitesForSite(coord));
}
return(points);
}