Esempio n. 1
0
        void SpawnEnemies()
        {
            float             remainingDifficulty   = difficulty;
            List <SpawnEntry> remainingSpawnEntries = new List <SpawnEntry>();

            remainingSpawnEntries.AddRange(spawnEntries);
            do
            {
                int        indexOfSpawnEntry = Random.Range(0, remainingSpawnEntries.Count);
                SpawnEntry spawnEntry        = remainingSpawnEntries[indexOfSpawnEntry];
                if (remainingDifficulty - spawnEntry.difficulty < 0)
                {
                    remainingSpawnEntries.RemoveAt(indexOfSpawnEntry);
                }
                else
                {
                    Enemy enemy = spawnEntry.Spawn();
                    if (enemy != null)
                    {
                        SpeederBot speederBot = enemy as SpeederBot;
                        if (speederBot != null)
                        {
                            speederBot.Init();
                        }
                        enemy.enabled = false;
                        enemies.Add(enemy);
                    }
                    remainingDifficulty -= spawnEntry.difficulty;
                }
            } while (remainingSpawnEntries.Count > 0);
        }