private bool CheckForGameEnd() { bool gameEnd = false; if (VictoryCardKingdomDecks.Any(d => d.IsDepleted && d.EndGameOnDepletion)) { gameEnd = true; } int depletedDecks = VictoryCardKingdomDecks.Count(d => d.IsDepleted); depletedDecks += SessionKingdomDecks.Count(d => d.IsDepleted); depletedDecks += TreasureCardKingdomDecks.Count(d => d.IsDepleted); return gameEnd || depletedDecks > 2; }
public Card BuyKingdomCard(Type cardType) { Card card = null; if (VictoryCardKingdomDecks.Any(d => d.CardInDeck.GetType() == cardType)) { var deck = VictoryCardKingdomDecks.Where(d => d.CardInDeck.GetType() == cardType).FirstOrDefault(); if (deck.Peek() != null) card = deck.Pop(); } else if (SessionKingdomDecks.Any(d => d.CardInDeck.GetType() == cardType)) { var deck = SessionKingdomDecks.Where(d => d.CardInDeck.GetType() == cardType).FirstOrDefault(); if (deck.Peek() != null) card = deck.Pop(); } else if (TreasureCardKingdomDecks.Any(d => d.CardInDeck.GetType() == cardType)) { var deck = TreasureCardKingdomDecks.Where(d => d.CardInDeck.GetType() == cardType).FirstOrDefault(); if (deck.Peek() != null) card = deck.Pop(); } return card; }