예제 #1
0
    public void Init(MatchMakingPlayerData matchMakingPlayerData)
    {
        localBetRoundNo = 0;
        ToggleLocalPot(false);
        playerData = matchMakingPlayerData.playerData;
        if (playerData.userId == PlayerManager.instance.GetPlayerGameData().userId)
        {
            isItMe = true;
            InGameManager.instance.UpdateAvailableBalance(playerData.balance);
        }
        else
        {
            isItMe = false;
        }

        LoadUI();

        ToggleFoldScreen(playerData.isFold);

        balanceText.text = "" + (int)playerData.balance;
        lastActionImage.SetActive(false);
        lastActionText.text = "";
        timerBar.fillAmount = 0;

        userName.text = playerData.userName.Substring(0, 4) + "...";
        Debug.Log("OTHERE USERNAME  ___   " + playerData.userName);
        otheruserId = int.Parse(playerData.userId);
        transform.Find("Bg/Dealer").gameObject.SetActive(playerData.isDealer);
        localBetAmount = (int)playerData.totalBet;

        if (playerData.totalBet > 0)
        {
            UpdateLocalPot((int)playerData.totalBet, InGameManager.instance.GetMatchRound());
        }
    }
예제 #2
0
    public void OnPlayerObjectFound(string serverResponse)
    {
        if (serverResponse.Length < 20)
        {
            Debug.LogError("Invalid playerObject response found = " + serverResponse);
            return;
        }

        JsonData data = JsonMapper.ToObject(serverResponse);

        if (data[0].Count > 0)
        {
            //AdjustAllPlayersOnTable(data[0].Count);
            bool isMatchStarted = data[0][0]["isStart"].Equals(true);
            ShowNewPlayersOnTable(data, isMatchStarted);

            if (SocketController.instance.GetSocketState() == SocketState.WaitingForOpponent)
            {
                SocketController.instance.SetTableId(data[0][0]["tableId"].ToString());

                if (isMatchStarted) // Match is started
                {
                    List <MatchMakingPlayerData> matchMakingPlayerData = new List <MatchMakingPlayerData>();

                    SocketController.instance.SetTableId(data[0][0]["tableId"].ToString());
                    for (int i = 0; i < data[0].Count; i++)
                    {
                        MatchMakingPlayerData playerData = new MatchMakingPlayerData();

                        playerData.playerData        = new PlayerData();
                        playerData.playerData.userId = data[0][i]["userId"].ToString();

                        playerData.playerData.userName = data[0][i]["userName"].ToString();
                        playerData.playerData.tableId  = data[0][i]["tableId"].ToString();
                        playerData.playerData.isFold   = data[0][i]["isBlocked"].Equals(true);

                        playerData.playerData.totalBet = float.Parse(data[0][i]["totalBet"].ToString());
                        playerData.playerData.balance  = float.Parse(data[0][i]["totalCoins"].ToString());

                        playerData.playerType = data[0][i]["playerType"].ToString();

                        playerData.isTurn = data[0][i]["isTurn"].Equals(true);
                        playerData.playerData.isDealer     = data[0][i]["isDealer"].Equals(true);
                        playerData.playerData.isSmallBlind = data[0][i]["smallBlind"].Equals(true);
                        playerData.playerData.isBigBlind   = data[0][i]["bigBlind"].Equals(true);
                        Debug.LogError("************************************************************");

                        if (playerData.isTurn)
                        {
                            playerData.isCheckAvailable = data[0][i]["isCheck"].Equals(true);
                        }

                        playerData.playerData.cards = new CardData[data[0][i]["cards"].Count];

                        for (int j = 0; j < playerData.playerData.cards.Length; j++)
                        {
                            if (playerData == null)
                            {
#if ERROR_LOG
                                Debug.LogError("matchmaking object is null");
#endif
                            }

                            if (playerData.playerData.cards == null)
                            {
#if ERROR_LOG
                                Debug.LogError("cards is null");
#endif
                            }

                            playerData.playerData.cards[j] = CardsManager.instance.GetCardData(data[0][i]["cards"][j].ToString());
                        }

                        matchMakingPlayerData.Add(playerData);
                    }

                    Init(matchMakingPlayerData);
                }
            }
            else if (SocketController.instance.GetSocketState() == SocketState.Game_Running)
            {
                PlayerScript playerWhosTurn   = null;
                bool         isCheckAvailable = false;

                for (int i = 0; i < data[0].Count; i++)
                {
                    PlayerScript playerObject = GetPlayerObject(data[0][i]["userId"].ToString());

                    if (playerObject != null)
                    {
                        PlayerData playerData = new PlayerData();
                        Debug.LogError("************************************************************");
                        playerData.isFold   = data[0][i]["isBlocked"].Equals(true);
                        playerData.totalBet = float.Parse(data[0][i]["totalBet"].ToString());
                        playerData.balance  = float.Parse(data[0][i]["totalCoins"].ToString());

                        if (data[0][i]["isTurn"].Equals(true))
                        {
                            playerWhosTurn   = playerObject;
                            isCheckAvailable = data[0][i]["isCheck"].Equals(true);
                        }

                        if (data[0][i]["userData"] != null && data[0][i]["userData"].ToString().Length > 0)
                        {
                            string playerAction = data[0][i]["userData"]["playerAction"].ToString();
                            int    betAmount    = (int)float.Parse(data[0][i]["userData"]["betData"].ToString());
                            int    roundNo      = (int)float.Parse(data[0][i]["userData"]["roundNo"].ToString());
                            playerObject.UpdateDetails(playerData, playerAction, betAmount, roundNo);
                        }
                        else
                        {
                            playerObject.UpdateDetails(playerData, "", 0, -1);
                        }
                    }
                }

                if (playerWhosTurn != null)
                {
                    SwitchTurn(playerWhosTurn, isCheckAvailable);
                }
                else
                {
#if ERROR_LOG
                    Debug.LogError("Null reference exception found playerWhosTurn is not found");
#endif
                }
            }
        }
    }