Esempio n. 1
0
 public void SpawnNextWave()
 {
     isSpawning     = true;
     enemiesSpawned = 0;
     enemiesToSpawn = DifficultyManager.CalculateEnemiesToSpawn();
     StartCoroutine(SpawnDelay());
 }
Esempio n. 2
0
    private void AdjustDifficulty()
    {
        //TODO: Adjust for stash taken

        //Acumalitive Health
        int   enemiesSpawned = DifficultyManager.CalculateEnemiesToSpawn();
        float survivalRate   = enemiesKilled / enemiesSpawned * 100;
        float difficulty     = difficultyIncrease.Evaluate(level + 1);

        if (survivalRate == 0)
        {
            DifficultyManager.statusMultiplier += 0.06f * difficulty;
            DifficultyManager.spawnMultiplier  += 2 * difficulty;
            DifficultyManager.globalDifficulty += 8 * difficulty;
        }

        else if (survivalRate < 4)
        {
            DifficultyManager.statusMultiplier -= 0.04f * difficulty;
            DifficultyManager.spawnMultiplier  += 1.5f * difficulty;
            DifficultyManager.globalDifficulty += 4 * difficulty;
        }

        else if (survivalRate < 10)
        {
            DifficultyManager.statusMultiplier -= 0.05f * difficulty;
            DifficultyManager.spawnMultiplier  -= difficulty;
            DifficultyManager.globalDifficulty -= 3 * difficulty;
        }

        else if (survivalRate < 20)
        {
            DifficultyManager.statusMultiplier -= 0.07f * difficulty;
            DifficultyManager.spawnMultiplier  -= 0.5f * difficulty;
            DifficultyManager.globalDifficulty -= 6 * difficulty;
        }

        else
        {
            DifficultyManager.statusMultiplier -= 0.10f;
            DifficultyManager.spawnMultiplier  -= 0.75f;
            DifficultyManager.globalDifficulty -= 8;
        }

        enemiesKilled = 0;
        stashTaken    = 0;
    }