Esempio n. 1
0
    /// <summary>
    /// Spawns all the enemies of a wave
    /// </summary>
    /// <param name="waveToSpawn">Wave to spawn.</param>
    IEnumerator SpawnWave(EnemyCreatorScript.Wave waveToSpawn, float _timeToSpawn)
    {
        yield return(new WaitForSeconds(_timeToSpawn));

        wavesText.text   = waveToSpawn.waveNumber + "/" + currentLevel.numberOfWaves;
        enemiesText.text = totalLevelEnemies.ToString();
        foreach (EnemyCreatorScript.Enemy enemy in waveToSpawn.enemies)
        {
            Debug.Log("Enemy: " + enemy.timeOfSpawn.ToString());
            StartCoroutine(SpawnEnemy(enemy.timeOfSpawn, enemy.enemyType));
        }
        Debug.Log(currentWave.enemies[currentWave.enemies.Count - 1].timeOfSpawn.ToString());
    }
Esempio n. 2
0
    /// <summary>
    /// Spawns the level.
    /// </summary>
    /// <param name="levelToSpawn">Current level.</param>
    public void SpawnLevel(EnemyCreatorScript.Level levelToSpawn)
    {
        float waveTime = 0;

        for (int i = 1; i <= levelToSpawn.numberOfWaves; i++)
        {
            currentWave        = levelToSpawn.FindWave(i);
            totalLevelEnemies += currentWave.enemies.Count;
            Debug.Log("Wave: " + currentWave.waveNumber);
            StartCoroutine(SpawnWave(currentWave, waveTime));
            waveTime += currentWave.enemies [currentWave.enemies.Count - 1].timeOfSpawn + 10.0f;
        }
    }