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