private IEnumerator Spawn(WaveFactory.MinionSettings minion) { while (true) { this.StepSpawn(minion, minion.spawnNo); minion.frequency *= 1 / minion.multiplier; yield return(new WaitForSeconds(minion.frequency)); } }
public void StepSpawn(WaveFactory.MinionSettings minion, float toSpawn) { for (int i = 0; i < toSpawn; i++) { Vector3 position = spawnArea.transform.position + new Vector3(Random.Range(-spawnArea.lossyScale.x / 2.0f, spawnArea.lossyScale.x / 2.0f), 0.75f, Random.Range(-spawnArea.lossyScale.z / 2.0f, spawnArea.lossyScale.z / 2.0f)); GameObject minionObj = ObjectPooler.SharedInstance.GetInactivePooledObject(minion.tag); if (minionObj != null) { minionObj.transform.position = position; minionObj.transform.rotation = Quaternion.identity; } minionObj.SetActive(true); } }