using System.Collections.Generic; namespace BulletHellTemplate { /// /// Represents a wave of monsters with specific configurations. /// [System.Serializable] public class Wave { public List monsters; // List of monster configurations in this wave public float waveDuration; // Duration of the wave before the next one starts public bool spawnBossAfterWave; // Indicates if a boss should spawn after this wave /// /// Constructor to initialize a new wave with the specified parameters. /// /// List of monster configurations to spawn in the wave. /// Duration of the wave. /// Indicates if a boss should spawn after this wave. public Wave(List monsters, float waveDuration, bool spawnBossAfterWave = false) { this.monsters = monsters; this.waveDuration = waveDuration; this.spawnBossAfterWave = spawnBossAfterWave; } } /// /// Represents the configuration for a specific type of monster in a wave. /// [System.Serializable] public class MonsterConfig { public MonsterEntity monsterPrefab; // The monster passEntryPrefab to spawn public float spawnInterval; // Time interval between monster spawns public int goldPerMonster; // Gold gained per monster public int xpPerMonster; // XP gained per monster /// /// Constructor to initialize a new monster configuration with the specified parameters. /// /// The monster passEntryPrefab to spawn. /// Number of monsters to spawn. /// Time interval between spawns. /// Gold gained per monster. /// XP gained per monster. public MonsterConfig(MonsterEntity monsterPrefab, float spawnInterval, int goldPerMonster, int xpPerMonster) { this.monsterPrefab = monsterPrefab; this.spawnInterval = spawnInterval; this.goldPerMonster = goldPerMonster; this.xpPerMonster = xpPerMonster; } } }