using UnityEngine; using System.Collections; public class EnemySpawner : MonoBehaviour { public GameObject enemyPrefab; // Reference to the enemy prefab public float spawnInterval = 3f; // Time between each spawn (in seconds) public float enemyLifetime = 5f; // Time before the enemy is destroyed (in seconds) public Vector3 spawnPosition = new Vector3(50f, 0.6f, 50f); // Position to spawn enemies void Start() { // Start the coroutine to spawn enemies at intervals StartCoroutine(SpawnEnemies()); } IEnumerator SpawnEnemies() { // Infinite loop to keep spawning enemies at intervals while (true) { SpawnEnemy(); // Call method to spawn an enemy yield return new WaitForSeconds(spawnInterval); // Wait for the spawn interval before spawning the next enemy } } void SpawnEnemy() { // Instantiate the enemy at the spawn position GameObject newEnemy = Instantiate(enemyPrefab, spawnPosition, Quaternion.identity); // Start a coroutine to destroy the enemy after a set time StartCoroutine(DestroyEnemyAfterTime(newEnemy, enemyLifetime)); } IEnumerator DestroyEnemyAfterTime(GameObject enemy, float time) { // Wait for the specified time yield return new WaitForSeconds(time); // Destroy the enemy after the time has passed Destroy(enemy); } }