private bool IsCardEffectPlayedForTeam( IOrderedEnumerable <Tuple <PlayCardEvent, Card> > cardsPlayedOnTeam, EffectCardType effect) { return(cardsPlayedOnTeam .Any(x => x.Item2.EffectType.HasFlag(effect))); }
private bool IsInvincibleCardEffectPlayedForTeam( IOrderedEnumerable <Tuple <PlayCardEvent, Card> > cardsPlayedOnTeam, EffectCardType effect) { return(cardsPlayedOnTeam .Any(x => x.Item2.EffectType.HasFlag(effect) && x.Item2.CardType == CardType.EFFECT_INVINCIBLE )); }
private Tuple <PlayCardEvent, Card, int> GetLastCardEffectPlayedForTeam( IEnumerable <Tuple <PlayCardEvent, Card, int> > cardsPlayedOnTeamWithOrder, EffectCardType effect) { return(cardsPlayedOnTeamWithOrder .Where(x => !(x.Item2.CardType == CardType.EFFECT_INVINCIBLE && x.Item2.EffectType != (EffectCardType.TRAFFIC_LIGHT | EffectCardType.SPEED_LIMIT))) .Where(x => x.Item2.EffectType.HasFlag(effect)) .LastOrDefault()); }
private bool IsTeamUnderEffect( IOrderedEnumerable <Tuple <PlayCardEvent, Card> > cardsPlayedOnTeam, EffectCardType effect) { var lastEffectCard = cardsPlayedOnTeam .Where(x => x.Item2.EffectType.HasFlag(effect)) .FirstOrDefault(); if (lastEffectCard == null) { return(false); } else { bool isUnderEffect; switch (lastEffectCard.Item2.CardType) { case CardType.EFFECT_NEGATIVE: { isUnderEffect = true; break; } case CardType.VALUE: case CardType.EFFECT_POSITIVE: case CardType.EFFECT_INVINCIBLE: default: { isUnderEffect = false; break; } } if (effect == EffectCardType.TRAFFIC_LIGHT) { return(!isUnderEffect); } return(isUnderEffect); } }
private bool IsInvincibleCardEffectPlayedForTeam( IOrderedEnumerable<Tuple<PlayCardEvent, Card>> cardsPlayedOnTeam, EffectCardType effect) { return cardsPlayedOnTeam .Any(x => x.Item2.EffectType.HasFlag(effect) && x.Item2.CardType == CardType.EFFECT_INVINCIBLE ); }
private Tuple<PlayCardEvent, Card, int> GetLastCardEffectPlayedForTeam( IEnumerable<Tuple<PlayCardEvent, Card, int>> cardsPlayedOnTeamWithOrder, EffectCardType effect) { return cardsPlayedOnTeamWithOrder .Where(x => !(x.Item2.CardType == CardType.EFFECT_INVINCIBLE && x.Item2.EffectType != (EffectCardType.TRAFFIC_LIGHT | EffectCardType.SPEED_LIMIT))) .Where(x => x.Item2.EffectType.HasFlag(effect)) .LastOrDefault(); }
private bool IsCardEffectPlayedForTeam( IOrderedEnumerable<Tuple<PlayCardEvent, Card>> cardsPlayedOnTeam, EffectCardType effect) { return cardsPlayedOnTeam .Any(x => x.Item2.EffectType.HasFlag(effect)); }
private bool IsTeamUnderEffect( IOrderedEnumerable<Tuple<PlayCardEvent, Card>> cardsPlayedOnTeam, EffectCardType effect) { var lastEffectCard = cardsPlayedOnTeam .Where(x => x.Item2.EffectType.HasFlag(effect)) .FirstOrDefault(); if (lastEffectCard == null) { return false; } else { bool isUnderEffect; switch (lastEffectCard.Item2.CardType) { case CardType.EFFECT_NEGATIVE: { isUnderEffect = true; break; } case CardType.VALUE: case CardType.EFFECT_POSITIVE: case CardType.EFFECT_INVINCIBLE: default: { isUnderEffect = false; break; } } if (effect == EffectCardType.TRAFFIC_LIGHT) { return !isUnderEffect; } return isUnderEffect; } }