public static ISelectCardsActivity SelectUpToXCardsToTrash(TurnContext context, Player player, int count, ICard source) { var activity = new SelectCardsActivity(context.Game.Log, player, string.Format("Select up to {0} card(s) to trash.", count), SelectionSpecifications.SelectUpToXCards(count), source); activity.Hint = ActivityHint.TrashCards; activity.AfterCardsSelected = cards => context.TrashAll(player, cards); return(activity); }
public static IActivity DiscardCardsToDrawCards(TurnContext context, ICard source) { var activity = new SelectCardsActivity( context, "Select any number of cards to discard, you will draw 1 new card for each discard.", SelectionSpecifications.SelectUpToXCards(context.ActivePlayer.Hand.CardCount), source); activity.AfterCardsSelected = cards => { context.DiscardCards(activity.Player, cards); context.DrawCards(cards.Count()); }; return(activity); }
public SelectReactionActivity(TurnContext currentTurn, Player player, AttackEffect attackEffect) : base(currentTurn.Game.Log, player, "Select a reaction to use, click Done when finished.", SelectionSpecifications.SelectUpToXCards(1), null) { _currentTurn = currentTurn; _attackEffect = attackEffect; Specification.CardTypeRestriction = typeof(IReactionCard); }