コード例 #1
0
 public void RefreshUIPanelPlayerPlayingBet(bool _updateNow = false)
 {
     if (pokerGamePlayData == null || pokerGamePlayData.listPlayerPlayingData == null)
     {
                     #if TEST
         Debug.LogError("Lỗi dữ liệu chưa init");
                     #endif
         return;
     }
     for (int i = 0; i < pokerGamePlayData.listPlayerPlayingData.Count; i++)
     {
         if (pokerGamePlayData.listPlayerPlayingData[i].turnBet > 0)
         {
             int _indexChair = pokerGamePlayData.listPlayerPlayingData[i].indexChair;
             Poker_PlayerGroup _playerGroup = Poker_GamePlay_Manager.instance.listPlayerGroup[_indexChair];
             if (!_playerGroup.isInitialized)
             {
                                     #if TEST
                 Debug.LogError("Lỗi chưa init player group");
                                     #endif
             }
             _playerGroup.myPanelBet.SetBet(pokerGamePlayData.listPlayerPlayingData[i].turnBet, _updateNow);
             _playerGroup.myPanelBet.Show();
         }
     }
     panelTotalBet.gameObject.SetActive(true);
     SetGlobalBet(pokerGamePlayData.totalBet);
 }
コード例 #2
0
 public void RefreshUIPanelPlayerPlayingInfo(bool _updateNow = false)
 {
     if (pokerGamePlayData == null || pokerGamePlayData.listPlayerPlayingData == null)
     {
                     #if TEST
         Debug.LogError("Lỗi dữ liệu chưa init");
                     #endif
         return;
     }
     for (int i = 0; i < pokerGamePlayData.listPlayerPlayingData.Count; i++)
     {
         int _indexChair = pokerGamePlayData.listPlayerPlayingData[i].indexChair;
         Poker_PlayerGroup _playerGroup = Poker_GamePlay_Manager.instance.listPlayerGroup[_indexChair];
         if (!_playerGroup.isInitialized)
         {
                             #if TEST
             Debug.LogError("Lỗi chưa init player group");
                             #endif
         }
         if (_updateNow)
         {
             _playerGroup.panelPlayerInfo.RefreshGoldInfo(true);
         }
         else
         {
             _playerGroup.panelPlayerInfo.RefreshGoldInfo();
         }
     }
 }
コード例 #3
0
 public Coroutine ShowCard(List <sbyte> _valueCards, Poker_PlayerGroup _playerGroup)
 {
     if (_valueCards.Count != 2)
     {
                     #if TEST
         Debug.LogError("Không đủ 2 lá");
                     #endif
         return(null);
     }
     if (!_playerGroup.isInitialized)
     {
                     #if TEST
         Debug.LogError("Chưa Init Player");
                     #endif
         return(null);
     }
     if (_playerGroup.ownCardPoolManager == null || _playerGroup.ownCardPoolManager.listObjects.Count == 0)
     {
                     #if TEST
         Debug.LogError("Chưa chia bài");
                     #endif
         return(null);
     }
     return(StartCoroutine(DoActionShowCard(_valueCards, _playerGroup)));
 }
コード例 #4
0
    public void RefreshUIPlayerRole()
    {
        if (pokerGamePlayData == null || pokerGamePlayData.listPlayerPlayingData == null)
        {
                        #if TEST
            Debug.LogError("Lỗi dữ liệu chưa init");
                        #endif
            return;
        }
        if (pokerGamePlayData.listPlayerPlayingData.Count == 0)
        {
            panelRoleSmallBlind.gameObject.SetActive(false);
            panelRoleBigBlind.gameObject.SetActive(false);
        }
        for (int i = 0; i < pokerGamePlayData.listPlayerPlayingData.Count && i <= 1; i++)
        {
            int _indexChair = pokerGamePlayData.listPlayerPlayingData[i].indexChair;
            Poker_PlayerGroup _playerGroup = Poker_GamePlay_Manager.instance.listPlayerGroup[_indexChair];

            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;
            }
        }
    }
コード例 #5
0
    IEnumerator DoActionDealPlayerCard(Poker_PlayerGroup _playerGroup)
    {
        List <PanelCardDetailController> _tmpListCard = new List <PanelCardDetailController>();
        PanelCardDetailController        _card        = null;

        for (int i = 0; i < 2; i++)
        {
            _card = LeanPool.Spawn(cardPrefab, Vector3.zero, Quaternion.identity, Poker_GamePlay_Manager.instance.panelCardContainer).GetComponent <PanelCardDetailController>();
            _card.transform.position = placeHolder_SpawnCard_Catched.position;
            _card.ResizeAgain(Poker_GamePlay_Manager.instance.sizeCard.x, Poker_GamePlay_Manager.instance.sizeCard.y);
            _tmpListCard.Add(_card);
        }

        yield return(Yielders.Get(0.1f));

        for (int i = 0; i < _tmpListCard.Count; i++)
        {
            if (!_playerGroup.isMe)
            {
                if (Poker_GamePlay_Manager.instance.CanPlayMusicAndSfx())
                {
                    MyAudioManager.instance.PlaySfx(Poker_GamePlay_Manager.instance.myAudioInfo.sfx_DealCard);
                }
                CoroutineChain.Start
                .Parallel(_tmpListCard[i].Move(_playerGroup.cardCoverHoldersCatched[i].position, 0.1f, LeanTweenType.easeOutSine)
                          , _tmpListCard[i].Rotate(_playerGroup.cardCoverHoldersCatched[i].rotation.eulerAngles, 0.1f)
                          , _tmpListCard[i].ScaleTo(_playerGroup.cardCoverHoldersCatched[i].localScale, 0.1f, LeanTweenType.notUsed));
            }
            else
            {
                ICardInfo _cardInfo = null;

                for (int j = 0; j < pokerGamePlayData.listPlayerPlayingData.Count; j++)
                {
                    if (pokerGamePlayData.listPlayerPlayingData[j].isMe &&
                        pokerGamePlayData.listPlayerPlayingData[j].userData.IsEqual(_playerGroup.userData))
                    {
                        _cardInfo = Poker_GamePlay_Manager.instance.GetCardInfo(pokerGamePlayData.listPlayerPlayingData[j].ownCards[i]);
                        if (_cardInfo == null)
                        {
                                                        #if TEST
                            Debug.LogError("_cardInfo is NULL : " + pokerGamePlayData.listPlayerPlayingData[j].ownCards[i]);
                                                        #endif
                            continue;
                        }
                        break;
                    }
                }

                CoroutineChain.Start
                .Parallel(_tmpListCard[i].Move(_playerGroup.ownCardHoldersCatched[i].position, 0.1f, LeanTweenType.easeOutSine
                                               , Poker_GamePlay_Manager.instance.CanPlayMusicAndSfx() ? Poker_GamePlay_Manager.instance.myAudioInfo.sfx_DealCard : null)
                          , _tmpListCard[i].Rotate(_playerGroup.ownCardHoldersCatched[i].rotation.eulerAngles, 0.1f)
                          , _tmpListCard[i].ScaleTo(_playerGroup.ownCardHoldersCatched[i].localScale, 0.1f, LeanTweenType.notUsed))
                .Sequential(_tmpListCard[i].Show(_cardInfo));
            }
            _playerGroup.ownCardPoolManager.AddObject(_tmpListCard[i]);
            yield return(Yielders.Get(0.1f));
        }
    }
コード例 #6
0
    public void RefreshUIButtonSitDown()
    {
        if (pokerGamePlayData.CheckIsPlaying(DataManager.instance.userData.sessionId) ||
            pokerGamePlayData.listSessionIdOnChair.Contains(DataManager.instance.userData.sessionId))
        {
            for (int i = 0; i < Poker_GamePlay_Manager.instance.listPlayerGroup.Count; i++)
            {
                Poker_GamePlay_Manager.instance.listPlayerGroup[i].HideButtonSitDown();
            }
            HideMyPanelUserInfo();
            return;
        }

        ShowMyPanelUserInfo();

        List <int> _listIndexChairPlaying = new List <int>();

        for (int i = 0; i < pokerGamePlayData.listPlayerPlayingData.Count; i++)
        {
            int _indexChair = pokerGamePlayData.listPlayerPlayingData[i].indexChair;
            Poker_GamePlay_Manager.instance.listPlayerGroup[_indexChair].HideButtonSitDown();
            _listIndexChairPlaying.Add(_indexChair);
        }
        List <int> _listIndexChairWaiting = new List <int>();

        for (int i = 0; i < pokerGamePlayData.numberChairs; i++)
        {
            if (!_listIndexChairPlaying.Contains(i))
            {
                _listIndexChairWaiting.Add(i);
            }
        }
        Poker_PlayerGroup _playerGroup = null;

        for (int i = 0; i < _listIndexChairWaiting.Count; i++)
        {
            int   _indexChair = _listIndexChairWaiting[i];
            short _sessionId  = pokerGamePlayData.listSessionIdOnChair[_indexChair];
            _playerGroup = Poker_GamePlay_Manager.instance.listPlayerGroup[_indexChair];
            UserDataInGame _userData = pokerGamePlayData.GetUserDataInGameFromListGlobal(_sessionId);
            if (_userData == null)
            {
                _playerGroup.ShowButtonSitDown();
            }
            else
            {
                _playerGroup.HideButtonSitDown();
            }
        }
    }
コード例 #7
0
 public Coroutine DealPlayerCard(Poker_PlayerGroup _playerGroup)
 {
     if (!_playerGroup.isInitialized)
     {
                     #if TEST
         Debug.LogError("Chưa Init Player");
                     #endif
         return(null);
     }
     if (_playerGroup.ownCardPoolManager.listObjects.Count != 0)
     {
                     #if TEST
         Debug.LogError("Đã chia đủ lá cho người chơi");
                     #endif
         return(null);
     }
     return(StartCoroutine(DoActionDealPlayerCard(_playerGroup)));
 }
コード例 #8
0
    IEnumerator DoActionShowCard(List <sbyte> _valueCards, Poker_PlayerGroup _playerGroup)
    {
        ICardInfo _cardInfo = null;

        for (int i = 0; i < _valueCards.Count; i++)
        {
            _cardInfo = Poker_GamePlay_Manager.instance.GetCardInfo(_valueCards[i]);
            if (_cardInfo == null)
            {
                                #if TEST
                Debug.LogError("_cardInfo is NULL : " + _valueCards[i]);
                                #endif
                continue;
            }
            PanelCardDetailController _panelCardDetail = (PanelCardDetailController)_playerGroup.ownCardPoolManager.listObjects[i];
            CoroutineChain.Start
            .Parallel(_panelCardDetail.Move(_playerGroup.cardOpenHoldersCatched[i].position, 0.1f, LeanTweenType.easeOutSine)
                      , _panelCardDetail.Rotate(_playerGroup.cardOpenHoldersCatched[i].rotation.eulerAngles, 0.1f)
                      , _panelCardDetail.ScaleTo(_playerGroup.cardOpenHoldersCatched[i].localScale, 0.1f, LeanTweenType.notUsed))
            .Sequential(_panelCardDetail.Show(_cardInfo));
        }
        yield return(1f);
    }
コード例 #9
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);
            }
        }
    }