コード例 #1
0
    void RefreshAllPlayerGroupUINow()
    {
        if (pokerGamePlayData.currentGameState == PokerGamePlayData.GameState.STATUS_WAIT_FOR_PLAYER)
        {
            for (int i = 0; i < pokerGamePlayData.listSessionIdOnChair.Count; i++)
            {
                if (pokerGamePlayData.listSessionIdOnChair[i] < 0)                 // ghế trống
                {
                    continue;
                }
                for (int j = 0; j < pokerGamePlayData.listGlobalPlayerData.Count; j++)
                {
                    if (pokerGamePlayData.listSessionIdOnChair[i] == pokerGamePlayData.listGlobalPlayerData[j].sessionId)
                    {
                        Poker_GamePlay_Manager.instance.listPlayerGroup[i].InitData(pokerGamePlayData.listGlobalPlayerData[j]);
                        break;
                    }
                }
            }
        }
        else           // đang chơi thì hiện thông tin người chơi và chia bài cho họ
        {
            List <int> _listIndexChairPlaying = new List <int>();
            Vector3    _pos = Vector3.zero;
            Quaternion _rot = Quaternion.identity;
            PanelCardDetailController _card = null;
            for (int i = 0; i < pokerGamePlayData.listPlayerPlayingData.Count; i++)
            {
                _listIndexChairPlaying.Add(pokerGamePlayData.listPlayerPlayingData[i].indexChair);
                int _indexChair = pokerGamePlayData.listPlayerPlayingData[i].indexChair;

                Poker_PlayerGroup _playerGroup = Poker_GamePlay_Manager.instance.listPlayerGroup[_indexChair];
                _playerGroup.InitData(pokerGamePlayData.listPlayerPlayingData[i].userData);
                _playerGroup.ShowPlayerState(pokerGamePlayData.listPlayerPlayingData[i].currentState, true);
                if (pokerGamePlayData.listPlayerPlayingData[i].turnBet > 0)
                {
                    _playerGroup.myPanelBet.SetBet(pokerGamePlayData.listPlayerPlayingData[i].turnBet, true);
                    _playerGroup.myPanelBet.Show();
                }

                if (pokerGamePlayData.listPlayerPlayingData[i].currentState != PokerGamePlayData.Poker_PlayerPlayingData.State.STATEPOKER_FOLD)
                {
                    for (int j = 0; j < _playerGroup.cardCoverHoldersCatched.Count; j++)
                    {
                        _pos = _playerGroup.cardCoverHoldersCatched[j].position;
                        _rot = _playerGroup.cardCoverHoldersCatched[j].rotation;

                        _card = LeanPool.Spawn(cardPrefab, Vector3.zero, Quaternion.identity, Poker_GamePlay_Manager.instance.panelCardContainer).GetComponent <PanelCardDetailController>();
                        _card.transform.position = _pos;
                        _card.transform.rotation = _rot;
                        _card.ResizeAgain(Poker_GamePlay_Manager.instance.sizeCard.x, Poker_GamePlay_Manager.instance.sizeCard.y);
                        _playerGroup.ownCardPoolManager.AddObject(_card);
                    }
                }

                if (i == 0)
                {
                    panelRoleSmallBlind.gameObject.SetActive(true);
                    panelRoleSmallBlind.position = _playerGroup.myPanelBet.imgIconChip.transform.position;
                }
                else if (i == 1)
                {
                    panelRoleBigBlind.gameObject.SetActive(true);
                    panelRoleBigBlind.position = _playerGroup.myPanelBet.imgIconChip.transform.position;
                }
            }
            // --- hiện các thông tin người chơi đang chờ --- //
            List <int> _listIndexChairWaiting = new List <int>();
            for (int i = 0; i < pokerGamePlayData.numberChairs; i++)
            {
                if (!_listIndexChairPlaying.Contains(i))
                {
                    _listIndexChairWaiting.Add(i);
                }
            }
            for (int i = 0; i < _listIndexChairWaiting.Count; i++)
            {
                int            _indexChair = _listIndexChairWaiting[i];
                short          _sessionId  = pokerGamePlayData.listSessionIdOnChair[_indexChair];
                UserDataInGame _userData   = pokerGamePlayData.GetUserDataInGameFromListGlobal(_sessionId);
                if (_userData == null)
                {
                    continue;
                }

                Poker_PlayerGroup _playerGroup = Poker_GamePlay_Manager.instance.listPlayerGroup[_indexChair];
                _playerGroup.InitAsIncognito(_userData);
            }
        }
    }