IEnumerator emitClubbers(ClubEmitterConfig config) { int numSpawned = 0; while (numSpawned < config.totalToSpawn) { int numToSpawn = UnityEngine.Random.Range(config.spawnMin, config.spawnMax); for (int i = 0; i < numToSpawn; i++) { Clubber prefab = config.clubberPrefabs.RandomItem(); Color clubberColor = config.colors.RandomItem(); Clubber c = Instantiate(prefab); spawnedItems.Add(c); c.clubberRenderer.color = clubberColor; c.transform.position = spawnArea.RandomPoint(); c.selectable.description = descriptions.RandomItem(); c.dancePosition = danceArea.RandomPoint(); } yield return(new WaitForSeconds(UnityEngine.Random.Range(config.waitSecondsMin, config.waitSecondsMax))); numSpawned += numToSpawn; } }
public void EmitClubbers(ClubEmitterConfig config) { StartCoroutine(emitClubbers(config)); }