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;
}
}
}