Defines ChallengeType enum and WaveChallenge data class for per-wave objectives. The enum lists various challenge kinds and WaveChallenge holds type, numeric target, a forbidden bomb type, UI label, reward, and completion/failure flags.
using Sandbox;
public enum ChallengeType
{
ClearAtLeast, // clear N+ chests this wave
ChainLength, // trigger a chain of N+ bombs
ClearGem, // destroy at least 1 gem chest
NoBombType, // clear MinChests without using a specific bomb type
ClearInOneBlast, // all chests cleared by a single bomb (no chain needed)
ClearBombChest, // destroy a BombChest
ClearAll,
ChainDepth3,
NoDamage,
}
public class WaveChallenge
{
public ChallengeType Type;
public int Target; // N for numeric challenges
public GridManager.BombType ForbiddenBomb; // for NoBombType
public string Label; // shown in UI
public int BonusCoins; // reward on completion
public bool Completed;
public bool Failed; // for challenges that can be failed mid-wave
}