本文整理汇总了C#中Dominion.Rules.TurnContext.TrashAll方法的典型用法代码示例。如果您正苦于以下问题:C# TurnContext.TrashAll方法的具体用法?C# TurnContext.TrashAll怎么用?C# TurnContext.TrashAll使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Dominion.Rules.TurnContext
的用法示例。
在下文中一共展示了TurnContext.TrashAll方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Resolve
public override void Resolve(TurnContext context, ICard source)
{
var cardCount = context.ActivePlayer.Hand.CardCount;
var gainUtil = new GainUtility(context, context.ActivePlayer);
if(cardCount < 2)
{
context.TrashAll(context.ActivePlayer, context.ActivePlayer.Hand);
}
else if(cardCount == 2)
{
context.TrashAll(context.ActivePlayer, context.ActivePlayer.Hand);
gainUtil.Gain<Silver>(context.ActivePlayer.Hand);
}
else
{
var activity = Activities.SelectXCardsToTrash(context, context.ActivePlayer, 2, source,
() => gainUtil.Gain<Silver>(context.ActivePlayer.Hand));
_activities.Add(activity);
}
}
示例2: Resolve
public override void Resolve(TurnContext context, ICard source)
{
var cardCount = context.ActivePlayer.Hand.CardCount;
if (cardCount == 0)
{
AddGainActivityForCost(context, source, 0);
}
else
{
var selectActivity = Activities.SelectUpToXCardsToTrash(context, context.ActivePlayer, cardCount, source);
selectActivity.AfterCardsSelected = cards =>
{
var costToGain = cards.Sum(x => x.Cost.Money);
context.TrashAll(context.ActivePlayer, cards);
AddGainActivityForCost(context, source, costToGain);
};
_activities.Add(selectActivity);
}
}