public class SpawnerHealth : AbstractHealth
{
private EnemySpawner spawner;
private GameObject enemy2;
public override void TakeDamage(int damageAmount)
{
base.TakeDamage(damageAmount);
Debug.Log("Spawner take damage");
if (Health == 10)
{
// Time.timeScale = 0;
//SceneManager.LoadScene(2);
}
}
}
public class EnemySpawner : MonoBehaviour
{
[SerializeField] private GameObject enemyPrefab;
[SerializeField] private float enemyInterval = 5f;
[SerializeField] private GameObject enemy2Prefab;
public Coroutine c1, c2;
private void Start()
{
c1 = StartCoroutine(spawnEnemy(enemyInterval, enemyPrefab));
c2 = StartCoroutine(spawnEnemy2(enemyInterval, enemy2Prefab));
}
public IEnumerator spawnEnemy(float interval, GameObject enemy)
{
yield return new WaitForSeconds(interval);
GameObject newEnemy = Instantiate(enemy, new Vector3(Random.Range(-2.3f, 2.08f), Random.Range(3.13f, 3.37f)),
Quaternion.identity);
StartCoroutine(spawnEnemy(interval, enemy));
}
public IEnumerator spawnEnemy2(float interval, GameObject enemy2)
{
yield return new WaitForSeconds(interval);
GameObject newEnemy = Instantiate(enemy2, new Vector3(Random.Range(-2.3f, 2.08f), Random.Range(3.13f, 3.37f)),
Quaternion.identity);
StartCoroutine(spawnEnemy(interval, enemy2));
}
}