private void clusteredLayout()
{
int speciesIdx = 0;
foreach (var species in PlantTypes)
{
int clusterRadius = _random.Next(20) + 20;
int k = _random.Next(5) + 5;
int curx = _random.Next(Width - 2 * clusterRadius) + clusterRadius;
int cury = _random.Next(Height - 2 * clusterRadius) + clusterRadius;
for (int i = 0; i < species.Count; i++)
{
if (i % k == 0)
{
curx = _random.Next(Width - 2 * clusterRadius) + clusterRadius;
cury = _random.Next(Height - 2 * clusterRadius) + clusterRadius;
}
int x = curx + _random.Next(clusterRadius) - clusterRadius / 2;
int y = cury + _random.Next(clusterRadius) - clusterRadius / 2;
var plant = Plants[speciesIdx * species.Count + i];
plant.Reset();
plant.X = x;
plant.Y = y;
}
speciesIdx++;
}
}
#endregion