private IEnumerator TimerToSpawn(int extraTime = 0) { yield return(new WaitForSeconds(respawnTime + extraTime)); if (spawnSFX) { spawnSFX.Play(); } GameObject enemy = Instantiate(enemyPrefab, transform.position, Quaternion.identity, transform); IRespawnable respawnable = enemy.GetComponent <IRespawnable>(); if (respawnable != null) { respawnable.SetRespawner(this); } GameObject spawnFX = Instantiate(spawnEffect, transform.position, Quaternion.identity); EnemySpawnEffect enemySpawnEffect = spawnFX.GetComponent <EnemySpawnEffect>(); enemySpawnEffect.Set(enemy); spawnFX.SetActive(true); }
private void Start() { spawnSFX = GetComponent <AudioSource>(); spawnFXs = new List <GameObject>(); foreach (GameObject spawn in spawnList) { GameObject spawnFX = Instantiate(spawnPrefab, spawn.transform.position, Quaternion.identity); spawnFX.SetActive(false); EnemySpawnEffect enemySpawnEffect = spawnFX.GetComponent <EnemySpawnEffect>(); enemySpawnEffect.Set(spawn); spawnFXs.Add(spawnFX); } }