all spawners available can be used on first wave tick
This commit is contained in:
@@ -57,14 +57,14 @@ public partial class WaveManager : Node
|
||||
{
|
||||
var randomizedSpawners = Spawners.ToArray();
|
||||
randomizedSpawners.Shuffle();
|
||||
|
||||
foreach (var (enemyDescription, numberRemaining) in CurrentWave)
|
||||
|
||||
foreach (var spawner in randomizedSpawners)
|
||||
{
|
||||
if (numberRemaining <= 0) continue;
|
||||
foreach (var spawner in randomizedSpawners)
|
||||
if (SpawnersInUse.Contains(spawner)) continue;
|
||||
foreach (var (enemyDescription, numberRemaining) in CurrentWave)
|
||||
{
|
||||
if (numberRemaining <= 0) continue;
|
||||
if (!spawner.SupportedEnemyTypes.Contains(enemyDescription.Type)) continue;
|
||||
if (SpawnersInUse.Contains(spawner)) continue;
|
||||
|
||||
var spawnedEnemy = spawner.SpawnEnemy(enemyDescription);
|
||||
if (spawnedEnemy == null) continue;
|
||||
@@ -79,6 +79,27 @@ public partial class WaveManager : Node
|
||||
}
|
||||
}
|
||||
|
||||
// foreach (var (enemyDescription, numberRemaining) in CurrentWave)
|
||||
// {
|
||||
// if (numberRemaining <= 0) continue;
|
||||
// foreach (var spawner in randomizedSpawners)
|
||||
// {
|
||||
// if (!spawner.SupportedEnemyTypes.Contains(enemyDescription.Type)) continue;
|
||||
// if (SpawnersInUse.Contains(spawner)) continue;
|
||||
//
|
||||
// var spawnedEnemy = spawner.SpawnEnemy(enemyDescription);
|
||||
// if (spawnedEnemy == null) continue;
|
||||
//
|
||||
// CurrentSpawnedEnemies[spawnedEnemy.GetInstanceId()] = spawnedEnemy;
|
||||
// SpawnersInUse.Add(spawner);
|
||||
//
|
||||
// spawnedEnemy.OnKilled += instanceId=> SpawnedEnemyDied(instanceId, spawner);
|
||||
//
|
||||
// CurrentWave[enemyDescription]--;
|
||||
// break;
|
||||
// }
|
||||
// }
|
||||
|
||||
var remainingEnemiesToSpawn = CurrentWave.Values.Sum();
|
||||
if (remainingEnemiesToSpawn <= 0) return; // Wave is fully spawned
|
||||
GetTree().CreateTimer(1.0f).Timeout += SpawnEnemiesAsAvailable; // Call back the same function later to try and spawn the rest
|
||||
|
||||
Reference in New Issue
Block a user