I want to make an enemy spawn system like this:
- Spawn the first wave
- If the first wave got killed spawn the second wave.
- If the second wave got killed spawn a boss.
- If the boss got killed go to the next scene (Victory screen for example)
How can i do this?
The only thing that worked for me was an endless wave system but its not what I want Thank you for your help
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Spawner : MonoBehaviour
{
public float spawnWait;
public float startWait;
public float waveWait;
public int waveCount;
public GameObject[] spawnPoints;
public GameObject enemy;
public GameObject enemy2;
private void Start()
{
StartCoroutine(SpawnEnemy());
spawnPoints = new GameObject[4];
for(int i = 0; i < spawnPoints.Length; i++)
{
spawnPoints *= transform.GetChild(i).gameObject;*
}
}
IEnumerator SpawnEnemy()
{
while (true)
{
for (int i = 0; i < waveCount; i++)
{
yield return new WaitForSeconds(spawnWait);
int spawnerID = Random.Range(0, spawnPoints.Length);
Instantiate(enemy, spawnPoints[spawnerID].transform.position, spawnPoints[spawnerID].transform.rotation);
Instantiate(enemy2, spawnPoints[spawnerID].transform.position, spawnPoints[spawnerID].transform.rotation);
yield return new WaitForSeconds(spawnWait);
}
}
}
}