public bool CanAfford(CardInGame cardInGame, out int costGold) { costGold = 0; costGold += Math.Max(cardInGame.Card.CostGreen - CardInGames.Where(x => x.Card.GemId == Gem.green && x.IsOnTable == true).Count() - ResourceGreen, 0); costGold += Math.Max(cardInGame.Card.CostWhite - CardInGames.Where(x => x.Card.GemId == Gem.white && x.IsOnTable == true).Count() - ResourceWhite, 0); costGold += Math.Max(cardInGame.Card.CostBlack - CardInGames.Where(x => x.Card.GemId == Gem.black && x.IsOnTable == true).Count() - ResourceBlack, 0); costGold += Math.Max(cardInGame.Card.CostBlue - CardInGames.Where(x => x.Card.GemId == Gem.blue && x.IsOnTable == true).Count() - ResourceBlue, 0); costGold += Math.Max(cardInGame.Card.CostRed - CardInGames.Where(x => x.Card.GemId == Gem.red && x.IsOnTable == true).Count() - ResourceRed, 0); return(ResourceGold >= costGold); }
public bool CanAfford(CardInGame cardInGame) { int costGold; return(CanAfford(cardInGame, out costGold)); }