Пример #1
0
    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);
        }
    }
Пример #2
0
        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));
            }
        }
Пример #3
0
    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;
    }