public List<Vector2> SelectSpawnpoints(int count)
{
var spawns = new List<int>();
var rand = new Random();
for(int i = 0; i < count; i++)
{
bool foundSpawn = false;
// Make a limited number of tries to find a good spawn point
for(int j = 0; j < 20; j++)
{
int spawnIndex = rand.Next(SpawnPoints.Count);
if (!spawns.Contains(spawnIndex))
{
spawns.Add(spawnIndex);
foundSpawn = true;
break;
}
}
// If that didn't work, just pick some spawn point
if(!foundSpawn)
{
spawns.Add(rand.Next(SpawnPoints.Count));
}
}
return spawns.Select((i)=>SpawnPoints[i]).ToList();
}