internal void player_Action(Player player, ref CardsDiscardEventArgs e) { e.Cards.Remove(this.PhysicalCard); Card thisCard = null; if (player.InPlay.Contains(this.PhysicalCard)) thisCard = player.RetrieveCardFrom(DeckLocation.InPlay, this.PhysicalCard); else thisCard = player.RetrieveCardFrom(DeckLocation.SetAside, this.PhysicalCard); player.AddCardToDeck(thisCard, DeckPosition.Top); }
internal void player_Action(Player player, ref CardsDiscardEventArgs e) { Choice choice = new Choice("Select a treasure to place on your deck", this, e.Cards.Where(c => (c.Category & Category.Treasure) == Cards.Category.Treasure), player); ChoiceResult result = player.MakeChoice(choice); if (result.Cards.Count > 0) { e.Cards.Remove(result.Cards[0]); if (player.InPlay.Contains(result.Cards[0])) player.RetrieveCardFrom(DeckLocation.InPlay, result.Cards[0]); else player.RetrieveCardFrom(DeckLocation.SetAside, result.Cards[0]); player.AddCardToDeck(result.Cards[0], DeckPosition.Top); } e.HandledBy.Add(this); }
public override void Play(Player player) { base.Play(player); Choice choice = new Choice("Choose a card to put on top of your deck", this, player.Hand, player); ChoiceResult result = player.MakeChoice(choice); if (result.Cards.Count > 0) player.AddCardToDeck(player.RetrieveCardFrom(DeckLocation.Hand, result.Cards[0]), DeckPosition.Top); }
internal void player_DiscardAction(Player player, ref CardsDiscardEventArgs e) { Card cardToTopDeck = e.Data as Card; e.Cards.Remove(cardToTopDeck); if (player.InPlay.Contains(cardToTopDeck)) player.RetrieveCardFrom(DeckLocation.InPlay, cardToTopDeck); else player.RetrieveCardFrom(DeckLocation.SetAside, cardToTopDeck); player.AddCardToDeck(cardToTopDeck, DeckPosition.Top); e.HandledBy.Add(cardToTopDeck); }
public override void Play(Player player) { base.Play(player); if (player.CanDraw) { Card card = player.DrawFrom(DeckPosition.Bottom, 1, DeckLocation.Private)[0]; Choice choice = Choice.CreateYesNoChoice(String.Format("Do you want to put {0} on top of your deck?", card.Name), this, card, player, null); ChoiceResult result = player.MakeChoice(choice); card = player.RetrieveCardFrom(DeckLocation.Private, card); if (result.Options[0] == "Yes") player.AddCardToDeck(card, DeckPosition.Top); else if (result.Options[0] == "No") player.AddCardToDeck(card, DeckPosition.Bottom); } }