Если объединить все что тут написали то получится вот так. Вроде компактно и работает на ура.
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Spawner : MonoBehaviour
{
public List<Transform> spawnPoints = new List<Transform>();
public List<GameObject> lootPrefabs = new List<GameObject>();
public int amountEnemies = 5;
private void Start()
{
SpawnEl();
}
public void SpawnEl()
{
for(int i=0; i < amountEnemies; i ++){
int randomNumber = Random.Range(0,spawnPoints.Count);
GameObject loot = SpawnLoot(spawnPoints[randomNumber]);
spawnPoints.RemoveAt(randomNumber);
}
}
private GameObject SpawnLoot(Transform spawnPoint)
{
var prefab = lootPrefabs[Random.Range(0, lootPrefabs.Count)];
return Instantiate(prefab, spawnPoint.position, spawnPoint.rotation);
}
}