using System; namespace UI.CardSystem.StateMachine { /// /// Booster-specific card context for reveal flow coordination. /// Separated from generic CardContext to maintain single responsibility. /// public class BoosterCardContext { // Booster reveal workflow state private bool _hasCompletedReveal = false; /// /// Has this card completed its booster reveal flow? /// public bool HasCompletedReveal => _hasCompletedReveal; /// /// Suppress NEW/REPEAT badges in revealed state /// public bool SuppressRevealBadges { get; set; } = false; /// /// Event fired when reveal flow is complete (card dismissed) /// public event Action OnRevealFlowComplete; /// /// Signal that this card has completed its reveal flow /// public void NotifyRevealComplete() { if (!_hasCompletedReveal) { _hasCompletedReveal = true; OnRevealFlowComplete?.Invoke(); } } /// /// Reset reveal state (for card reuse/pooling) /// public void Reset() { _hasCompletedReveal = false; SuppressRevealBadges = false; } } }