using System; using System.Collections.Generic; using KernelPanic.Data; namespace KernelPanic.Run { /// /// Provides post-wave reward choice generation contracts. /// public sealed class RewardService { public IReadOnlyList GeneratePostWaveChoices(RunConfig runConfig, int waveNumber) { throw new NotImplementedException(); } } /// /// Represents one selectable reward option after clearing a wave. /// public readonly struct RewardChoice { public RewardChoice(RewardChoiceType type, CardDefinition card) { Type = type; Card = card; } public RewardChoiceType Type { get; } public CardDefinition Card { get; } } /// /// Identifies the type of reward choice offered after a wave. /// public enum RewardChoiceType { AddCard, UpgradeCard, Skip } }