// public functions /// <summary> /// Function perform update of known information about player. /// </summary> /// <param name="playerID">ID of player which need update.</param> /// <param name="newCardID">ID of new card of player.</param> /// <param name="oldCardID">ID of old card of player, needed if card was removed.</param> /// <returns>Returns true if the change have visual consequencies, otherwise return false.</returns> public bool ApplyNewPlayerData(int playerID, BangCard newCardID, BangCard oldCardID) { PlayerStatus plStat = _playersStatusHolder[playerID]; if (newCardID == BangCard.NONE) { // card removed } else if (newCardID == BangCard.UNKNOWN) { plStat.PlayerState = BangState.NEW_CARD_UNKNOWN; } else if (newCardID == BangCard.MUSTANG || newCardID == BangCard.SILVER || newCardID == BangCard.APPALOOSA) { plStat.PlayerState = BangState.NEW_CARD_HORSE_UPGRADE; } else if (newCardID == BangCard.VOLCANIC || newCardID == BangCard.SCHOFIELD || newCardID == BangCard.REMMINGTON || newCardID == BangCard.CARABINE || newCardID == BangCard.WINCHESTER) { plStat.PlayerState = BangState.NEW_CARD_GUN_UPGRADE; } return(true); }
/// <summary> /// Perform Bang state update, after the new card in common area Appear. /// </summary> /// <param name="playerID"></param> /// <param name="cardID"></param> /// <param name="packageID"> </param> /// <returns>Returns true if the change have visual consequencies, otherwise return false.</returns> public bool ApplyNewCommonData(int playerID, BangCard cardID, CommonAreaPackages packageID) { if (cardID == BangCard.UNKNOWN) { _currentState = BangState.NEW_CARD_UNKNOWN; } else if (cardID == BangCard.BANG_A || cardID == BangCard.BANG_B) { _currentState = BangState.BANG_PLAYED; } else if ((cardID == BangCard.DODGE_A || cardID == BangCard.DODGE_A_M || cardID == BangCard.DODGE_B || cardID == BangCard.DODGE_B_M) && _currentState == BangState.BANG_PLAYED) { _currentState = BangState.DODGE_PLAYED; } return(true); }