本文整理汇总了C#中Dominion.Card.DoSpecializedTrash方法的典型用法代码示例。如果您正苦于以下问题:C# Card.DoSpecializedTrash方法的具体用法?C# Card.DoSpecializedTrash怎么用?C# Card.DoSpecializedTrash使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Dominion.Card
的用法示例。
在下文中一共展示了Card.DoSpecializedTrash方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: MoveCardToTrash
internal void MoveCardToTrash(Card card, GameState gameState)
{
this.gameLog.PlayerTrashedCard(this, card);
this.gameLog.PushScope();
gameState.cardContextStack.PushCardContext(this, card, CardContextReason.CardBeingTrashed);
if (card.DoSpecializedTrash(this, gameState))
{
gameState.trash.AddCard(card);
}
// cards in hand react to trashing.
if (this.ownsCardWithSpecializedActionOnTrashWhileInHand)
{
bool stateHasChanged = true;
while (stateHasChanged)
{
stateHasChanged = false;
foreach (Card cardInHand in this.hand)
{
gameState.cardContextStack.PushCardContext(this, cardInHand, CardContextReason.CardReacting);
stateHasChanged = cardInHand.DoSpecializedActionOnTrashWhileInHand(this, gameState, cardInHand);
gameState.cardContextStack.Pop();
if (stateHasChanged)
break;
}
}
}
gameState.cardContextStack.Pop();
this.gameLog.PopScope();
}
示例2: MoveCardToTrash
internal void MoveCardToTrash(Card card, GameState gameState)
{
this.gameLog.PlayerTrashedCard(this, card);
gameState.trash.AddCard(card);
this.gameLog.PushScope();
card.DoSpecializedTrash(gameState.players.CurrentPlayer, gameState);
// cards in hand react to trashing.
if (this.ownsCardWithSpecializedActionOnTrashWhileInHand)
{
bool stateHasChanged = true;
while (stateHasChanged)
{
stateHasChanged = false;
foreach (Card cardInHand in this.hand)
{
stateHasChanged = cardInHand.DoSpecializedActionOnTrashWhileInHand(this, gameState, cardInHand);
if (stateHasChanged)
break;
}
}
}
this.gameLog.PopScope();
}