public void RevealEncounterCard() { if (EncounterDeck.Cards.Count() == 0) { if (Game.CurrentPhase.Code == PhaseCode.Quest) { EncounterDeck.ShuffleDiscardPileIntoDeck(); } else { return; } } cancelWhenRevealedEffect = null; var card = EncounterDeck.GetFromTop(1).First(); EncounterDeck.RemoveFromDeck(card); RevealedEncounterCard = GetRevealedEncounterCard(card); CheckForResponsesToRevealedCard(); TriggerWhenRevealedEffects(card); TriggerOtherEffects(card); if (!(RevealedEncounterCard.Card is ITreacheryCard)) { AddToStagingArea(RevealedEncounterCard); } RevealedEncounterCard = null; }
public void CancelRevealedCard(ICancelEffect effect) { if (effect == null) { throw new ArgumentNullException("effect"); } cancelWhenRevealedEffect = effect; }
public void CancelRevealedCard(ICancelEffect effect) { if (effect == null) throw new ArgumentNullException("effect"); cancelWhenRevealedEffect = effect; }