public WaveManager(Texture2D enemyTexture, int numOfWaves, Queue<Vector2> waypoints) { this.numOfWaves = numOfWaves; this.enemyTexture = enemyTexture; this.waypoints = waypoints; Vector2 startLocation = new Vector2(this.waypoints.Peek().X - Engine.TileWidth / 2, this.waypoints.Peek().Y - Engine.TileHeight / 2); for (int i = 0; i < numOfWaves; i++) { int numOfEnemies = 12; int test = (i + 1) % 5; if ((i + 1) % 5 != 0 && (i + 1) % 6 != 0) // Normal { numOfEnemies = 12; } else if ((i + 1) % 5 == 0 && (i + 1) % 6 != 0) // Boss { numOfEnemies = 1; } else if ((i + 1) % 5 != 0 && (i + 1) % 6 == 0) // Fast { numOfEnemies = 10; } Wave wave = new Wave(this.enemyTexture, numOfEnemies, i, startLocation, this.waypoints); waves.Enqueue(wave); } }