Ejemplo n.º 1
0
        public virtual void SpawnEnemies()
        {
            EnemyEntry[] _enemyEntries  = enemyEntries;
            EnemyEntry   nextEnemyEntry = null;
            int          indexOfNextEnemyEntry;

            while (idealDifficulty - difficulty >= minEnemyDifficulty)
            {
                while (true)
                {
                    indexOfNextEnemyEntry = Random.Range(0, _enemyEntries.Length);
                    nextEnemyEntry        = _enemyEntries[indexOfNextEnemyEntry];
                    if (difficulty + nextEnemyEntry.enemyPrefab.difficulty > idealDifficulty)
                    {
                        _enemyEntries = _enemyEntries.RemoveAt(indexOfNextEnemyEntry);
                    }
                    else
                    {
                        break;
                    }
                }
                difficulty += nextEnemyEntry.enemyPrefab.difficulty;
                StartCoroutine(nextEnemyEntry.Spawn());
            }
        }