Exemple #1
0
    void Update()
    {
        //Last enemy just died and wave has ended
        if (CountEnemies() == 0 && enemiesToSpawn == 0 && gameManager.State == GameManagerBehavior.GameState.Running)
        {
            //Moment when in the current frame are no enemies and in the frame before were
            if (lastEnemyCounter != 0)
            {
                //sends information to the gameManager
                gameManager.SetRemainingEnemies(enemySpawnCounter);
                gameManager.SetWaveButton();
                waveActive = false;
                Debug.Log("WAVE CLEARED!");
            }

            //Next Wave Implementation
            if (waveActive)
            {
                enemiesToSpawn = enemySpawnCounter;
                waveCounter++;
                gameManager.SetWaveLabel(waveCounter);
            }
        }

        //When the wave is ongoing an enemies have to be spawned
        if (enemiesToSpawn > 0 && waveActive)
        {
            //Spawn enemies in a set interval
            if (Time.time - lastEnemySpawnTime > enemySpawnInterval)
            {
                Spawn();
                gameManager.DecrementRemainingEnemies();
            }
        }

        //Count the enemies
        lastEnemyCounter = CountEnemies();
    }