private EGameActionFailure Is_Card_Discardable( ECardColor color, ECardValue value ) { CPlayerHand local_hand = Match.GameState.Get_Player_Hand( CClientLogicalThread.Instance.ConnectedID ); if ( !local_hand.Contains_Card( color, value ) ) { return EGameActionFailure.Card_Is_Not_In_Your_Hand; } return EGameActionFailure.None; }
private EGameActionFailure Are_Cards_Passable( ECardColor color1, ECardValue value1, ECardColor color2, ECardValue value2 ) { CPlayerHand local_hand = Match.GameState.Get_Player_Hand( CClientLogicalThread.Instance.ConnectedID ); if ( !local_hand.Contains_Card( color1, value1 ) || !local_hand.Contains_Card( color2, value2 ) ) { return EGameActionFailure.Card_Is_Not_In_Your_Hand; } if ( local_hand.Count < 8 ) { return EGameActionFailure.Not_Enough_Cards_In_Hand_To_Pass; } return EGameActionFailure.None; }
public Card(ESuit newSuit, ECardValue newCardValue) { m_eSuit = newSuit; m_eCardValue = newCardValue; }
public CPlayerHandDelta( EPersistenceID player_id, ECardDelta delta_type, ECardColor color, ECardValue card_value ) { PlayerID = player_id; DeltaType = delta_type; Color = color; CardValue = card_value; }
// Private Interface private void Remove_Card( ECardColor color, ECardValue card_value ) { if ( color != ECardColor.Invalid && card_value != ECardValue.Invalid ) { m_Cards.RemoveAt( m_Cards.FindIndex( n => n.Color == color && n.Value == card_value ) ); } m_Count--; }
public bool Contains_Card( ECardColor color, ECardValue value ) { return Cards.FirstOrDefault( card => card.Color == color && card.Value == value ) != null; }
private static int EvaluateScore(ECardValue cardValue) => cardValue switch {
public void Append(ECardValue cardValue) => _rawScore += EvaluateScore(cardValue);
public CardValue(int value) { Value = (ECardValue)value; }
public CCardCollectionDelta( EGameSide side, ECardColor color, ECardValue value ) { Side = side; Color = color; Value = value; }
private EGameActionFailure Is_Card_Playable( ECardColor color, ECardValue value ) { CPlayerHand local_hand = Match.GameState.Get_Player_Hand( CClientLogicalThread.Instance.ConnectedID ); if ( !local_hand.Contains_Card( color, value ) ) { return EGameActionFailure.Card_Is_Not_In_Your_Hand; } CCardCollection local_collection = Match.GameState.Get_Card_Collection( Get_Local_Side(), color ); int local_collection_top_value = local_collection.Get_Top_Card_Score_Value(); if ( CCardUtils.Get_Card_Score_Value( value ) <= local_collection_top_value && local_collection_top_value != 0 ) { return EGameActionFailure.A_Higher_Card_Already_Exists; } return EGameActionFailure.None; }
public CDiscardPileDelta( ECardDelta delta_type, ECardColor color, ECardValue value ) { DeltaType = delta_type; Color = color; Value = value; }