using System.Collections.Generic; namespace KernelPanic.Combat { /// /// Carries runtime combat references needed by card effects during resolution. /// public sealed class CombatContext { public CombatContext( CardInstance card, CombatantState source, IReadOnlyList targets, CombatManager combatManager, DamagePipeline damagePipeline, StatusEffectController statusEffects, DeckController deckController, HandController handController, IReadOnlyList enemies) { Card = card; Source = source; Targets = targets; CombatManager = combatManager; DamagePipeline = damagePipeline; StatusEffects = statusEffects; DeckController = deckController; HandController = handController; Enemies = enemies; } public CardInstance Card { get; } public CombatantState Source { get; } public IReadOnlyList Targets { get; } public CombatManager CombatManager { get; } public DamagePipeline DamagePipeline { get; } public StatusEffectController StatusEffects { get; } public DeckController DeckController { get; } public HandController HandController { get; } public IReadOnlyList Enemies { get; } internal bool SegfaultRecoilRolled { get; set; } } }