Hello so I just tried to make a wave scrip but I cant figure out why it is not working. I made a class called Wave to hold floats and ints of how many enemies to spawn and how often. The problem is that I want it to change after I kill all of the enemies. The problem is that instantly when I start the game it goes through all of my waves and reaches the end. I honestly dont know what is happening.
Spawn Script
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class EnemySpawnManager : MonoBehaviour {
public EnemyController Enemy;
public Transform Spawn1;
public Transform Spawn2;
//Setting Wave System
Wave currentWave;
int currentWaveCount;
int RemainingEnemiesToSpawn;
public Wave[] Waves;
[System.Serializable]
public class Wave
{
public int enemyCount;
public float timeBetweenSpawn;
public float SpawnCounter;
}
void NextWave()
{
if(currentWaveCount -1 <= Waves.Length)
{
currentWaveCount++;
currentWave = Waves[currentWaveCount - 1];
RemainingEnemiesToSpawn = currentWave.enemyCount;
}
}
// Use this for initialization
void Start () {
NextWave();
currentWave.SpawnCounter = currentWave.timeBetweenSpawn;
RemainingEnemiesToSpawn = currentWave.enemyCount;
}
// Update is called once per frame
void Update () {
currentWave.SpawnCounter -= Time.deltaTime;
if (currentWave.SpawnCounter <= 0)
{
RemainingEnemiesToSpawn--;
currentWave.SpawnCounter = currentWave.timeBetweenSpawn;
EnemyController newEnemy1 = Instantiate(Enemy, Spawn1.position, Spawn1.rotation) as EnemyController;
}
if(RemainingEnemiesToSpawn > 0)
{
NextWave();
}
}
}
Thank you for taking the time in helping me.