void DealCards() { switch (_dealState) { case DealState.GETCARDS: System.Tuple <int, bool> card; foreach (int i in _blackjackModel.PlayerIds) { for (int j = 0; j < 2; j++) { card = _blackjackModel.DealCardToPlayer(i); if (i == _blackjackModel.UserID) { AddCardToPeekHand(card.Item1); } _cardList.Add(card); } } _dealState = DealState.ANIMATE; break; case DealState.ANIMATE: int currentPlayer = _dealCardAnimateInt / 2; //every player gets two cards if (_dealCardAnimateBool) { _cardManagerList[currentPlayer].GiveCardToPlayer(cardPrefabList[_cardList[_dealCardAnimateInt].Item1], _cardList[_dealCardAnimateInt].Item2); _dealCardAnimateBool = false; _cardManagerList[currentPlayer].RestartDealCardAnimation(); } else { if (!_cardManagerList[currentPlayer].dealCardAnimationEnabled) { _dealCardAnimateBool = true; _dealCardAnimateInt++; if (_dealCardAnimateInt == _cardList.Count) { _dealState = DealState.GETCARDS; _gameState = GameState.PLAY; _dealCardAnimateInt = 0; _cardList.Clear(); } } } break; default: throw new System.Exception("_dealState state has been thrown off. It is currently: " + _dealState); } }
private static string GetFormat(DealState dealState) { switch (dealState) { case DealState.Missing: return(Resources.OrderMustHaveActiveDeal_Missing); case DealState.Inactive: return(Resources.OrderMustHaveActiveDeal_Inactive); default: throw new Exception(nameof(dealState)); } }
void Start() { _numNPCs = SharedData.NumberNPC; _userMoney = SharedData.Money; _blackjackModel = new BlackjackModel(_numNPCs, _userMoney); _gameState = GameState.BET; _betState = BetState.PLAYER; _dealState = DealState.GETCARDS; _playState = PlayState.WHOSETURN; _cardList = new List <System.Tuple <int, bool> >(); _betList = new List <int>(); _currentPlayerID = -1; foreach (int j in _blackjackModel.PlayerIds) { _betList.Add(-1); } _activeSeats = new List <GameObject>(); InitializeSeatList(); _chipManagerList = new List <ChipLERP>(); foreach (int i in _blackjackModel.PlayerIds) { if (i != _blackjackModel.DealerID) { _chipManagerList.Add(_activeSeats[i].GetComponent <ChipLERP>()); } } for (int j = 0; j < aiSeats.Count; j++) { if (j < aiSeats.Count / 2) { AddCardManager(aiSeats[j], aiHandList[j], -60 + 20 * j); } else { AddCardManager(aiSeats[j], aiHandList[j], -60 + 20 * (j + 1)); } } AddCardManager(playerSeat, playerHandMarker, 0); AddCardManager(dealerHandMarker, dealerHandMarker, 0); _dealCardAnimateBool = true; _dealCardAnimateInt = 0; _cardManagerList = new List <CardLERP>(); foreach (int i in _blackjackModel.PlayerIds) { if (i != _blackjackModel.DealerID && i != _blackjackModel.UserID) { _cardManagerList.Add(_activeSeats[i].GetComponent <CardLERP>()); } else if (i == _blackjackModel.UserID) { _cardManagerList.Add(playerSeat.GetComponent <CardLERP>()); } else { _cardManagerList.Add(dealerHandMarker.GetComponent <CardLERP>()); } } for (int j = 0; j < aiSeats.Count; j++) { if (j < aiSeats.Count / 2) { aiSeats[j].transform.Rotate(0f, (-60 + j * 20), 0f); } else { aiSeats[j].transform.Rotate(0f, (-60 + (j + 1) * 20), 0f); } } peekHand.SetActive(false); _cardOffset = 0f; _currentCard = 0; _resolveBetsHelperBool = true; _animateBetsHelperBool = true; _pauseAfterWinHelperBool = true; wonLostDict = new Dictionary <int, bool>(); _pauseAfterWinHelperBool2 = true; }