private Wave GenerateRandomWave() { var enemyType = Randomizer.GetEnemyType(); var spawnPattern = Randomizer.GetSpawnPattern(); var spawnZone = Randomizer.GetSpawnZone(); var randomizedSquadron = new Squadron(enemyType, spawnPattern, spawnZone); return(new Wave(new List <WaveEvent> { WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(randomizedSquadron), WaveEvent.MediumDelay(), })); }
public void Awake() { _name = "Asteroid Belt"; _description = "Navigate through a dangerous asteroid belt, guarded by pirates and aliens alike."; _waves = new List <Wave> { /* * new Wave(new List<WaveEvent> * { * WaveEvent.ShortDelay(), * WaveEvent.SpawnSquadron(new Squadron(EnemyType.AsteroidTurret, SpawnPattern.JostledRow, SpawnZone.Top, 1)), * WaveEvent.ShortDelay(), * WaveEvent.SpawnSquadron(new Squadron(EnemyType.AsteroidTurret, SpawnPattern.JostledRow, SpawnZone.Top, 2)), * WaveEvent.ShortDelay(), * WaveEvent.SpawnSquadron(new Squadron(EnemyType.AsteroidTurret, SpawnPattern.JostledRow, SpawnZone.Top, 3, -1, true)), * WaveEvent.ShortDelay(), * WaveEvent.SpawnSquadron(new Squadron(EnemyType.CrabLeft, SpawnPattern.Column, SpawnZone.Left)), * WaveEvent.LongDelay(), * * }), */ new Wave(new List <WaveEvent> { WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.MediumAsteroid, SpawnPattern.JostledRow)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.MediumAsteroid, SpawnPattern.JostledRow)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.ResourceAsteroid, SpawnPattern.Random, SpawnZone.Top, 1)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.MediumAsteroid, SpawnPattern.JostledRow)), }), new Wave(new List <WaveEvent> { WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.MediumAsteroid, SpawnPattern.JostledRow)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.MediumAsteroid, SpawnPattern.JostledRow)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.ResourceAsteroid, SpawnPattern.Random, SpawnZone.Top, 1)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.MediumAsteroid, SpawnPattern.JostledRow)), WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.AsteroidTurret, SpawnPattern.JostledRow, SpawnZone.Top, 1)), }), new Wave(new List <WaveEvent> { WaveEvent.LongDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.MediumAsteroid, SpawnPattern.Random, SpawnZone.Top, 8)), WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.MediumAsteroid, SpawnPattern.JostledRow)), WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.MediumShrapnelAsteroid, SpawnPattern.JostledRow)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.ResourceAsteroid, SpawnPattern.Random, SpawnZone.Top, 1)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.MediumShrapnelAsteroid, SpawnPattern.JostledRow)), WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.AsteroidTurret, SpawnPattern.JostledRow, SpawnZone.Top, 2, -1, true)), }), new Wave(new List <WaveEvent> { WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.MediumAsteroid, SpawnPattern.JostledRow)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.MediumAsteroid, SpawnPattern.JostledRow)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.ResourceAsteroid, SpawnPattern.Random, SpawnZone.Top, 1)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.MediumShrapnelAsteroid, SpawnPattern.JostledRow)), WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.AsteroidTurret, SpawnPattern.JostledRow, SpawnZone.Top, 3, -1, true)), }), new Wave(new List <WaveEvent> { WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.MediumAsteroid, SpawnPattern.JostledRow)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.MediumAsteroid, SpawnPattern.JostledRow)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.ResourceAsteroid, SpawnPattern.Random, SpawnZone.Top, 1)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.MediumShrapnelAsteroid, SpawnPattern.JostledRow)), WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.AsteroidTurret, SpawnPattern.JostledRow, SpawnZone.Top, 4, -1, true)), }), new Wave(new List <WaveEvent> { WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.BulletAsteroid, SpawnPattern.Random, SpawnZone.Top, 20, 0.2f)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.BulletAsteroid, SpawnPattern.Random, SpawnZone.Top, 20, 0.2f)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.BulletAsteroid, SpawnPattern.Random, SpawnZone.Top, 20, 0.2f)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.BulletAsteroid, SpawnPattern.Random, SpawnZone.Top, 20, 0.2f)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.BulletAsteroid, SpawnPattern.Random, SpawnZone.Top, 20, 0.2f)), }), new Wave(new List <WaveEvent> { WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.MediumAsteroid, SpawnPattern.JostledRow)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.MediumAsteroid, SpawnPattern.JostledRow)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.ResourceAsteroid, SpawnPattern.Random, SpawnZone.Top, 1)), WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.AsteroidTurret, SpawnPattern.JostledRow, SpawnZone.Top, 5, -1, true)), WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.HugeAsteroid, SpawnPattern.Center, SpawnZone.TopAsteroid, 1)), }), new Wave(new List <WaveEvent> { WaveEvent.LongDelay(), WaveEvent.LongDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.RadialTurret, SpawnPattern.Center, SpawnZone.Top, 1)), WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.RadialTurret, SpawnPattern.JostledRow, SpawnZone.Top, 2, -1, true)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.AsteroidTurret, SpawnPattern.JostledRow, SpawnZone.Top, 2, -1, true)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.RadialTurret, SpawnPattern.JostledRow, SpawnZone.Top, 3, -1, true)), WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.AsteroidTurret, SpawnPattern.JostledRow, SpawnZone.Top, 3, -1, true)), }), new Wave(new List <WaveEvent> { WaveEvent.LongDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.BigBoi, SpawnPattern.Center)), WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.PlainJane, SpawnPattern.FlyingV, SpawnZone.Top, 3)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.BigBoi, SpawnPattern.Center)), WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.PlainJane, SpawnPattern.FlyingV, SpawnZone.Top, 4)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.BigBoi, SpawnPattern.FlyingV, SpawnZone.Top, 3)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.PlainJane, SpawnPattern.FlyingV, SpawnZone.Top, 5)), }), new Wave(new List <WaveEvent> { WaveEvent.LongDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.CrabLeft, SpawnPattern.Column, SpawnZone.Left)), WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.CrabRight, SpawnPattern.Column, SpawnZone.Right)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.RadialTurret, SpawnPattern.JostledRow, SpawnZone.Top, 4, -1, true)), WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.PlainJane, SpawnPattern.FlyingV, SpawnZone.Top, 4)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.ResourceAsteroid, SpawnPattern.Random, SpawnZone.Top, 1)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.AsteroidTurret, SpawnPattern.FlyingV, SpawnZone.Top, 2)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.CrabLeft, SpawnPattern.DoubleColumn, SpawnZone.Left)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.CrabRight, SpawnPattern.DoubleColumn, SpawnZone.Right)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.BigBoi, SpawnPattern.FlyingV, SpawnZone.Top, 3)), }), new Wave(new List <WaveEvent> { WaveEvent.LongDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.BulletAsteroid, SpawnPattern.Random, SpawnZone.Top, 20, 0.2f)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.BulletAsteroid, SpawnPattern.Random, SpawnZone.Top, 20, 0.2f)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.BulletAsteroid, SpawnPattern.Random, SpawnZone.Top, 20, 0.2f)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.BulletAsteroid, SpawnPattern.Random, SpawnZone.Top, 20, 0.2f)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.BulletAsteroid, SpawnPattern.Random, SpawnZone.Top, 20, 0.2f)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.BulletAsteroid, SpawnPattern.Random, SpawnZone.Top, 20, 0.2f)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.BulletAsteroid, SpawnPattern.Random, SpawnZone.Top, 20, 0.2f)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.BulletAsteroid, SpawnPattern.Random, SpawnZone.Top, 20, 0.2f)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.BulletAsteroid, SpawnPattern.Random, SpawnZone.Top, 20, 0.2f)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.BulletAsteroid, SpawnPattern.Random, SpawnZone.Top, 20, 0.2f)), }), new Wave(new List <WaveEvent> { WaveEvent.LongDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.RadialTurret, SpawnPattern.Center, SpawnZone.Top, 1)), WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.RadialTurret, SpawnPattern.JostledRow, SpawnZone.Top, 2, -1, true)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.AsteroidTurret, SpawnPattern.JostledRow, SpawnZone.Top, 2, -1, true)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.ResourceAsteroid, SpawnPattern.Random, SpawnZone.Top, 1)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.RadialTurret, SpawnPattern.JostledRow, SpawnZone.Top, 3, -1, true)), WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.AsteroidTurret, SpawnPattern.JostledRow, SpawnZone.Top, 3, -1, true)), }), new Wave(new List <WaveEvent> { WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.MediumAsteroid, SpawnPattern.JostledRow)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.MediumAsteroid, SpawnPattern.JostledRow)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.ResourceAsteroid, SpawnPattern.Random, SpawnZone.Top, 1)), WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.AsteroidTurret, SpawnPattern.JostledRow, SpawnZone.Top, 5, -1, true)), WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.HugeAsteroid, SpawnPattern.Center, SpawnZone.TopAsteroid, 1)), }), new Wave(new List <WaveEvent> { WaveEvent.LongDelay(), WaveEvent.LongDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.Shockwave, SpawnPattern.Center, SpawnZone.Top, 1)), WaveEvent.LongDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.NovaSaucer, SpawnPattern.Center, SpawnZone.Top, 1)), WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.NovaSaucer, SpawnPattern.JostledRow, SpawnZone.Top, 2, -1, true)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.AsteroidTurret, SpawnPattern.JostledRow, SpawnZone.Top, 2, -1, true)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.NovaSaucer, SpawnPattern.JostledRow, SpawnZone.Top, 3, -1, true)), WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.AsteroidTurret, SpawnPattern.JostledRow, SpawnZone.Top, 3, -1, true)), }), new Wave(new List <WaveEvent> { WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.Canon, SpawnPattern.Center, SpawnZone.Top, 1)), WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.AsteroidTurret, SpawnPattern.Center, SpawnZone.Top, 1)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.Canon, SpawnPattern.JostledRow, SpawnZone.Top, 2, -1, true)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.PlainJane, SpawnPattern.JostledRow, SpawnZone.Top, 6, -1, true)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.CrabLeft, SpawnPattern.Column, SpawnZone.Left)), WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.BigBoi, SpawnPattern.JostledRow, SpawnZone.Top, 3, -1, true)), }), new Wave(new List <WaveEvent> { WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.Speedster, SpawnPattern.Random, SpawnZone.Top, 1)), WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.Speedster, SpawnPattern.JostledRow, SpawnZone.Top, 2, -1, true)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.Canon, SpawnPattern.JostledRow, SpawnZone.Top, 2, -1, true)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.PlainJane, SpawnPattern.JostledRow, SpawnZone.Top, 6, -1, true)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.Speedster, SpawnPattern.JostledRow, SpawnZone.Top, 2, -1, true)), WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.BigBoi, SpawnPattern.JostledRow, SpawnZone.Top, 3, -1, true)), }), new Wave(new List <WaveEvent> { WaveEvent.LongDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.NovaSaucer, SpawnPattern.Center, SpawnZone.Top, 1)), WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.NovaSaucer, SpawnPattern.JostledRow, SpawnZone.Top, 2, -1, true)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.RadialTurret, SpawnPattern.JostledRow, SpawnZone.Top, 2, -1, true)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.NovaSaucer, SpawnPattern.JostledRow, SpawnZone.Top, 3, -1, true)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.Canon, SpawnPattern.JostledRow, SpawnZone.Top, 2, -1, true)), WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.BigBoi, SpawnPattern.JostledRow, SpawnZone.Top, 3, -1, true)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.AsteroidTurret, SpawnPattern.Center, SpawnZone.Top, 1)), WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.ResourceAsteroid, SpawnPattern.Random, SpawnZone.Top, 1)), }), new Wave(new List <WaveEvent> { WaveEvent.LongDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.BulletAsteroid, SpawnPattern.Random, SpawnZone.Top, 20, 0.2f)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.BulletAsteroid, SpawnPattern.Random, SpawnZone.Top, 20, 0.2f)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.BulletAsteroid, SpawnPattern.Random, SpawnZone.Top, 20, 0.2f)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.BulletAsteroid, SpawnPattern.Random, SpawnZone.Top, 20, 0.2f)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.BulletAsteroid, SpawnPattern.Random, SpawnZone.Top, 20, 0.2f)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.BulletAsteroid, SpawnPattern.Random, SpawnZone.Top, 20, 0.2f)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.BulletAsteroid, SpawnPattern.Random, SpawnZone.Top, 20, 0.2f)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.BulletAsteroid, SpawnPattern.Random, SpawnZone.Top, 20, 0.2f)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.BulletAsteroid, SpawnPattern.Random, SpawnZone.Top, 20, 0.2f)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.BulletAsteroid, SpawnPattern.Random, SpawnZone.Top, 20, 0.2f)), }), new Wave(new List <WaveEvent> { WaveEvent.LongDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.NovaSaucer, SpawnPattern.Center, SpawnZone.Top, 1)), WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.NovaSaucer, SpawnPattern.JostledRow, SpawnZone.Top, 2, -1, true)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.RadialTurret, SpawnPattern.JostledRow, SpawnZone.Top, 2, -1, true)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.NovaSaucer, SpawnPattern.JostledRow, SpawnZone.Top, 3, -1, true)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.Canon, SpawnPattern.JostledRow, SpawnZone.Top, 2, -1, true)), WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.BigBoi, SpawnPattern.JostledRow, SpawnZone.Top, 3, -1, true)), }), new Wave(new List <WaveEvent> { WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.MediumAsteroid, SpawnPattern.JostledRow)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.MediumAsteroid, SpawnPattern.JostledRow)), WaveEvent.ShortDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.ResourceAsteroid, SpawnPattern.Random, SpawnZone.Top, 1)), WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.AsteroidTurret, SpawnPattern.JostledRow, SpawnZone.Top, 5, -1, true)), WaveEvent.MediumDelay(), WaveEvent.SpawnSquadron(new Squadron(EnemyType.HugeAsteroid, SpawnPattern.Center, SpawnZone.TopAsteroid, 1)), }), }; }