예제 #1
0
    private void HandleOnWinnerInfoReceived(string sender, string winnerInfo)
    {
        StartCoroutine(ResetGameAfterSomeTime());

        if (!btnBackToGame.interactable)
        {
            btnSitoutNextHand.interactable = true;
        }

        if (ownTablePlayer != null && ownTablePlayer.playerInfo.Player_Status == (int)PLAYER_STATUS.SIT_OUT)
        {
            sitOutCounter++;
        }

        isGameCompleted     = true;
        currentTurnPlayerID = "";

        HideBetPanel();

        btnAddChips.interactable = true;

        if (winnerInfo == null)
        {
            return;
        }

        WinnerReport winReport = new WinnerReport(winnerInfo);

        if (ownTablePlayer.playerInfo.Player_Status != (int)PLAYER_ACTION.FOLD)
        {
            UIManager.Instance.winReportPanel.DisplayWinReport(winReport);
//			if (winReport.Winner.Winner_Name.Equals (ownTablePlayer.playerID)) {
//				ownTablePlayer.buyinChips += winReport.Winner.winner_balance;
//				ownTablePlayer.totalChips += winReport.Winner.winner_balance;
//			}
//			ownTablePlayer.DisplayTotalChips ();
        }

        DisplayWinnerAnimation();

        if (dealerFirstCard)
        {
            dealerFirstCard.DisplayCardWithoutAnimation(dealerInfo.Card1);
        }
        if (dealerSecondCard)
        {
            dealerSecondCard.DisplayCardWithoutAnimation(dealerInfo.Card2);
        }

        dealerWhoopAssCard.GetComponent <CardFlipAnimation> ().DisplayCardWithoutAnimation(dealerInfo.WACard);
    }
예제 #2
0
    void SetTieDescription(WinnerReport winnerReport)
    {
        txtTieTitle.text        = "Tie - " + GetWinningRank(winnerReport.Winner.Winner_Rank) + "!";
        txtTieDescription.text  = "Return Bet:" + "\nAnte: <color=white>" + GameManager.Instance.anteAmount + "</color>" + "\nBet-1: <color=white>" + GameManager.Instance.bet1Amount + "</color>," + " Bet-2: <color=white>" + GameManager.Instance.bet2Amount + "</color>," + " Bet-3: <color=white>" + GameManager.Instance.bet3Amount + "</color>," + " Play: <color=white>" + GameManager.Instance.bet4Amount + "</color>" + " = <color=white>" + (GameManager.Instance.bet1Amount + GameManager.Instance.bet2Amount + GameManager.Instance.bet3Amount + GameManager.Instance.bet4Amount) + "</color>";
        txtTieDescription.text += "\nWhoopAss Card: <color=white>" + GameManager.Instance.waCardAmount + "</color>";
        if (winnerReport.Winner.StraightAmount > 0)
        {
            txtTieDescription.text += "\nStraight Bet: <color=white>" + winnerReport.Winner.StraightAmount + GetStraightWinningRatio(winnerReport.Winner.Winner_Rank) + "</color>";
        }
        if (winnerReport.Winner.BliendAmount > 0)
        {
            txtTieDescription.text += "\nBlind Bet: <color=white>" + winnerReport.Winner.BliendAmount + "</color>";
        }
        txtTieDescription.text += "\nTotal: <color=white>" + winnerReport.Winner.Winning_Amount + "</color>";
        if (winnerReport.Winner.StraightAmount == 0 || winnerReport.Winner.BliendAmount == 0)
        {
            txtTieDescription.text += "\n\nLost Bet:";
            double lostAmount = 0;
            if (winnerReport.Winner.StraightAmount == 0)
            {
                lostAmount             += GameManager.Instance.straightAmount;
                txtTieDescription.text += "\nStraight Bet: <color=white>" + GameManager.Instance.straightAmount + "</color> (Lower than Straight)";
            }
            if (winnerReport.Winner.BliendAmount == 0)
            {
                lostAmount             += GameManager.Instance.blindAmount;
                txtTieDescription.text += "\nBlind Bet: <color=white>" + GameManager.Instance.blindAmount + "</color> (Lower than Flush)";
            }
            txtTieDescription.text += "\nTotal: <color=white>" + lostAmount + "</color>";
        }

        if (GameManager.Instance.ownTablePlayer != null)
        {
            GameManager.Instance.ownTablePlayer.buyinChips += winnerReport.Winner.Winning_Amount;
            if (UIManager.Instance.isRealMoney)
            {
                GameManager.Instance.ownTablePlayer.totalRealMoney += winnerReport.Winner.Winning_Amount;
            }
            else
            {
                GameManager.Instance.ownTablePlayer.totalChips += winnerReport.Winner.Winning_Amount;
            }
            GameManager.Instance.ownTablePlayer.DisplayTotalChips();

            if (winnerReport.Winner.Winning_Amount > Constants.TABLE_GAME_PLAY_MIN_CHIPS)
            {
                GameManager.Instance.rebuyPanel.gameObject.SetActive(false);
            }
        }
    }
예제 #3
0
    public void DisplayWinReport(WinnerReport winnerReport)
    {
        GameManager.Instance.txtGameLog.text += "\n" + winnerReport.Winner.Winner_Name + " -> " + GetWinningRank(winnerReport.Winner.Winner_Rank) + " -> " + Utility.GetAmount(winnerReport.Winner.Winning_Amount);
        if (winnerReport.Winner.Winner_Name.Equals(Constants.FIELD_PLAYER_NAME_DEALER))
        {
            txtDealerWon.text = "Dealer Won!\n\nDealer's Hand: <color=white>" + GetWinningRank(winnerReport.Winner.Winner_Rank) + "</color>" +
                                "\nPlayer's Hand: <color=white>" + GetWinningRank(winnerReport.Loser.Loser_Rank) + "</color>";
            if (winnerReport.Loser.StraightAmount > 0)
            {
                txtDealerWon.text += "\nStraight Bet: <color=white>" + winnerReport.Loser.StraightAmount + "</color>";
            }
            if (winnerReport.Loser.BliendAmount > 0)
            {
                txtDealerWon.text += "\nBlind Bet: <color=white>" + winnerReport.Loser.BliendAmount + "</color>";
            }

            if (GameManager.Instance.ownTablePlayer != null)
            {
                GameManager.Instance.ownTablePlayer.buyinChips += (long)(winnerReport.Loser.StraightAmount + winnerReport.Loser.BliendAmount);
                if (UIManager.Instance.isRealMoney)
                {
                    GameManager.Instance.ownTablePlayer.totalRealMoney += (long)(winnerReport.Loser.StraightAmount + winnerReport.Loser.BliendAmount);
                }
                else
                {
                    GameManager.Instance.ownTablePlayer.totalChips += (long)(winnerReport.Loser.StraightAmount + winnerReport.Loser.BliendAmount);
                }
                GameManager.Instance.ownTablePlayer.DisplayTotalChips();

                if (winnerReport.Loser.StraightAmount + winnerReport.Loser.BliendAmount > Constants.TABLE_GAME_PLAY_MIN_CHIPS)
                {
                    GameManager.Instance.rebuyPanel.gameObject.SetActive(false);
                }
            }

            txtBlindBet.text = txtPayoutAmount.text = txtStraightOrBetter.text = txtTotalBet.text = txtWhoopAssCard.text = "";
            dealerWinParent.SetActive(true);
            tieParent.SetActive(false);
        }
        else
        {
            if (winnerReport.Winner.IsTie)
            {
                SetTieDescription(winnerReport);
                tieParent.SetActive(true);
            }
            else
            {
                SetPlayerWinReportDetails(winnerReport);
                tieParent.SetActive(false);
            }
        }

        if (GameManager.Instance.ownTablePlayer.playerInfo.Player_Status != (int)PLAYER_ACTION.ACTION_WAITING_FOR_GAME &&
            (int)RoundController.GetInstance().currentTableGameRound > (int)TABLE_GAME_ROUND.START)
        {
            SetWinningCards(winnerReport.Winner.Winner_Best_Cards);
            SetDealerBestCards(winnerReport.Loser.Loser_Best_Cards);

            if (winnerReport.Winner.Winner_Name.Equals(Constants.FIELD_PLAYER_NAME_DEALER))
            {
                txtTitle.text          = Constants.WIN_REPORT_TITLE;
                txtDealerHandRank.text = "Dealer's Hand: " + GetWinningRank(winnerReport.Winner.Winner_Rank);

                SetWinningCards(winnerReport.Loser.Loser_Best_Cards);
                SetDealerBestCards(winnerReport.Winner.Winner_Best_Cards);
            }
            else
            {
                txtTitle.text          = Constants.WIN_REPORT_TITLE + " - " + GetWinningRank(winnerReport.Winner.Winner_Rank);
                txtDealerHandRank.text = "Dealer's Hand: " + GetWinningRank(winnerReport.Loser.Loser_Rank);

                SetWinningCards(winnerReport.Winner.Winner_Best_Cards);
                SetDealerBestCards(winnerReport.Loser.Loser_Best_Cards);
            }

            if (winnerReport.Winner.IsTie)
            {
                txtTitle.text = Constants.WIN_REPORT_TITLE;
            }
        }
        else
        {
            winningCardsObject.SetActive(false);
            txtTitle.text = Constants.WIN_REPORT_TITLE;
        }

        SoundManager.Instance.PlayGameCompleteSound(Camera.main.transform.position);
        gameObject.SetActive(true);
    }
예제 #4
0
    void SetPlayerWinReportDetails(WinnerReport winnerReport)
    {
        txtDealerWon.text = "";
        dealerWinParent.SetActive(false);
        tieParent.SetActive(false);
        txtWhoopAssCard.text = "WA Card money return: <color=white>" + Utility.GetAmount(winnerReport.Winner.WAAmount) + "</color>";
        txtTotalBet.text     = "Total bet for:\n" + "Ante Bet, Bet-1, Bet-2, Bet-3, Play Bet: <color=white>" + Utility.GetAmount(winnerReport.Winner.BetAmount / 2) + "</color>\n" + "+ Equal Win Payout <color=white>" + Utility.GetAmount(winnerReport.Winner.BetAmount / 2) + "</color> = <color=white>" + Utility.GetAmount(winnerReport.Winner.BetAmount) + "</color>";
        if (winnerReport.Winner.StraightAmount > 0)
        {
            txtStraightOrBetter.text = "\"Straight Bet\": " + "<color=white>" + Utility.GetAmount(winnerReport.Winner.StraightAmount) + "</color>";
        }
        else
        {
            if (GameManager.Instance.straightAmount == 0)
            {
                txtStraightOrBetter.text = "\"Straight Bet\": <color=white>Player didn't bet</color>";
            }
            else
            {
                txtStraightOrBetter.text = "\"Straight Bet\": <color=white>Player Loses</color> - <color=white>No Straight or Better</color>";
            }
        }
        if (winnerReport.Winner.BliendAmount > 0)
        {
            txtBlindBet.text = "\"Blind Bet\": " + GetWinningRank(winnerReport.Winner.Winner_Rank) + ": <color=white>" + Utility.GetAmount(winnerReport.Winner.BliendAmount) + "</color>";
        }
        else
        {
            txtBlindBet.text = "\"Blind Bet\": <color=white>Player Loses</color> - <color=white>No Flush or Better</color>";
        }
        if (winnerReport.Winner.Rake_Amount > 0)
        {
            imgRakeAmountBullet.gameObject.SetActive(true);
            txtRakeAmount.text = "\"Rake Amount\": " + winnerReport.Winner.Rake_Percentage + "%  <color=white>" + Utility.GetAmount(winnerReport.Winner.Rake_Amount) + "</color>";
        }
        else
        {
            imgRakeAmountBullet.gameObject.SetActive(false);
            txtRakeAmount.text = "";
        }
        txtPayoutAmount.text = "Total Payout Amount: <color=white>" + Utility.GetAmount(winnerReport.Winner.Winning_Amount) + "</color>";

        if (GameManager.Instance.ownTablePlayer != null)
        {
            GameManager.Instance.ownTablePlayer.buyinChips += winnerReport.Winner.Winning_Amount;
            if (UIManager.Instance.isRealMoney)
            {
                GameManager.Instance.ownTablePlayer.totalRealMoney += winnerReport.Winner.Winning_Amount;
            }
            else
            {
                GameManager.Instance.ownTablePlayer.totalChips += winnerReport.Winner.Winning_Amount;
            }
            GameManager.Instance.ownTablePlayer.DisplayTotalChips();

            if (winnerReport.Winner.Winning_Amount > Constants.TABLE_GAME_PLAY_MIN_CHIPS)
            {
                GameManager.Instance.rebuyPanel.gameObject.SetActive(false);
            }
        }
    }