Beispiel #1
0
    public void leavePlayerOnTable(string playerName)
    {
        PlayerBean player = playersManager.getPlayerFromName(playerName);

        if (player != null)
        {
            playersManager.removePlayer(player);
        }
    }
Beispiel #2
0
    public int getPlayerTotalBetAmount(String name)
    {
        PlayerBean player         = playersManager.getPlayerFromName(name);
        int        totalBetAmount = 0;

        totalBetAmount += startRound.getTotalPlayerBetAmount(player);
        totalBetAmount += firstFlopRound.getTotalPlayerBetAmount(player);
        totalBetAmount += secondFlopRound.getTotalPlayerBetAmount(player);
        totalBetAmount += thirdRound.getTotalPlayerBetAmount(player);
        return(totalBetAmount);
    }
    public int getPlayerTotalBetAmount(String name)
    {
        PlayerBean player         = playersManager.getPlayerFromName(name);
        int        totalBetAmount = 0;

        totalBetAmount += preflopRound.getTotalPlayerBetAmount(player);
        totalBetAmount += flopRound.getTotalPlayerBetAmount(player);
        totalBetAmount += turnRound.getTotalPlayerBetAmount(player);
        totalBetAmount += riverRound.getTotalPlayerBetAmount(player);

        return(totalBetAmount);
    }
    public void manageGameFinishAction(string winnerPlayerName, int rank, int winnerPlayerWinningAmount, int winnerPlayerTotalBalance, List <string> listBestCard)
    {
        if (GAME_STATUS == GameConstant.FINISHED)
        {
            iTween.Stab(gameObject, iTween.Hash("audioclip", winnerAudio, "pitch", 1));
            bool isAllAreFolded = playersManager.isAllPlayersAreFolded();
            defaultCardsManager.openFlopCards();
            defaultCardsManager.openTurnCards();
            defaultCardsManager.openRiverCards();

            resetDefaultCards(false);
            resetWinningPlayers(false);

            isRunningGame = false;
            setEnableDisableOptions(false);

            txtLog.text = txtLog.text.ToString() + "\nWinner is " + winnerPlayerName + "\nRank : " + getRankName((HAND_RANK)rank) + "\nWinning Amount : " + winnerPlayerWinningAmount + "\n";

            PlayerBean winnerPlayer = playersManager.findWinnerPlayerFromName(winnerPlayerName);
            StartCoroutine(manageWinnerPlayers(winnerPlayer));
            winnerPlayer.setPlayerBalance(winnerPlayerTotalBalance);

            //DEBUG.Log ("Game Finish : Winner is " + winnerPlayerName + " >> Rank : " + (HAND_RANK)rank);

            if (!isAllAreFolded)
            {
                winnerPlayer.getRankPannel().SetActive(true);
                winnerPlayer.getRankText().text  = getRankName((HAND_RANK)rank) + " (" + Utility.GetCurrencyPrefix() + "" + winnerPlayerWinningAmount + ")";
                winnerPlayer.getRankText().color = Color.white;
                playersManager.openAllPlayerCards();
                //reset cards
                foreach (string cardName in listBestCard)
                {
                    GameObject cardGameObject = winnerPlayer.getCardObjectFromCardName(cardName);
                    if (cardGameObject != null)
                    {
                        animationManager.WinningCardAnimation(cardGameObject);
                    }
                    else
                    {
                        cardGameObject = defaultCardsManager.getCardObjectFromCardName(cardName);
                        if (cardGameObject != null)
                        {
                            animationManager.WinningCardAnimation(cardGameObject);
                        }
                    }
                }
            }
            //			StartCoroutine(hideWinnerRankPannel(winnerPlayer));
            Invoke("scrollDown", 1f);
        }
    }
    public IEnumerator manageWinnerPlayers(PlayerBean winnerPlayer)
    {
        gameObjectManager.getTableChipSetPositionObject().SetActive(true);
        gameObjectManager.getTableChipSetObject().transform.position = gameObjectManager.getTableChipSetPositionObject().transform.position;
        animationManager.MoveChipsObject(gameObjectManager.getTableChipSetObject(), winnerPlayer.getChipObject());
        yield return(new WaitForSeconds(GameConstant.ANIM_WAITING_TIME));

        winnerPlayer.getChipObject().transform.position = winnerPlayer.getChipPositionObject().transform.position;
        gameObjectManager.getTableChipSetObject().transform.position = gameObjectManager.getTableChipSetPositionObject().transform.position;
        gameObjectManager.getTableChipSetPositionObject().SetActive(false);
        gameObjectManager.getTableChipSetObject().SetActive(false);
        StartCoroutine(blinkWinnerPlayer(winnerPlayer.getGameObject()));
    }
Beispiel #6
0
    public int getPlayerLastAction(PlayerBean player)
    {
        int action = 0;

        foreach (TurnManager turnManager in listTurn)
        {
            if (turnManager.getPlayer().getPlayerName().Equals(player.getPlayerName()))
            {
                action = turnManager.getPlayerAction();
            }
        }
        return(action);
    }
Beispiel #7
0
    public int getTotalPlayerBetAmount(PlayerBean player)
    {
        int totalBet = 0;

        foreach (TurnManager turnManager in listTurn)
        {
            if (turnManager.getPlayer().getPlayerName().Equals(player.getPlayerName()))
            {
                totalBet += turnManager.getBetAmount();                  // This will add every turn bet amount
//				totalBet = turnManager.getBetAmount (); // total round bet
            }
        }
        return(totalBet);
    }
    public PlayerBean findWinnerPlayerFromName(string name)
    {
        PlayerBean winnerPlayer = null;

        foreach (PlayerBean player in listPlayers)
        {
            if (player.getPlayerName().Equals(name))
            {
                winnerPlayer = player;
                winnerPlayer.setWinnerUser();
            }

            player.setPlayerLastAction(GameConstant.ACTION_DEALER, player.getBalance());
            player.stopAnimation();
        }
        return(winnerPlayer);
    }
    public PlayerBean setCurrentTurnPlayer(string name)
    {
        PlayerBean currentPlayer = null;

        foreach (PlayerBean player in listPlayers)
        {
            if (player.getPlayerName().Equals(name))
            {
                player.setMyTurn(true);
                currentPlayer = player;
            }
            else
            {
                player.setMyTurn(false);
            }
        }
        return(currentPlayer);
    }
    public void addNewPlayerOnTable(int id, string playerName, int balance, string card1, string card2, int gameStatus, int playerStatus, int currentRound)
    {
        //	playerName = "Player "+playersManager.totalPlayerOnTable ();
        PlayerBean playerTmp = playersManager.getPlayerFromName(playerName);

        if (playerTmp == null)
        {
            GAME_STATUS = gameStatus;
            PlayerBean player = new PlayerBean(
                gameObjectManager.getPlayerGameObject(playersManager.totalPlayerOnTable()),
                gameObjectManager.getPlayerChipsObject(playersManager.totalPlayerOnTable()),
                id,
                playerName,
                balance,
                card1,
                card2, null);
            player.setBetAmount(0, 0);
            if (playerStatus == GameConstant.ACTION_FOLDED)
            {
                player.setFoldedPlayer(true);
            }
            else if (playerStatus == GameConstant.ACTION_WAITING_FOR_GAME)
            {
                player.setIsWatingForGamePlayer();
                playersManager.closeActivePlayersCards();
            }
            if (currentRound > GameConstant.TEXASS_ROUND_PREFLOP)
            {
                openRoundCards(currentRound);
            }
            gameObjectManager.getPlayerChipsObject(playersManager.totalPlayerOnTable()).SetActive(false);
            playersManager.addPlayer(player);
//			handleAnim.GetInstanceCardAnimation ().MoveObject (movingCoinObject, player.getBetChipsObject().gameObject);
        }
        else
        {
//			playerTmp.setCardsAndBalance (balance, card1, card2, null);
        }

        if (playersManager.getAllPlayers().Count < GameConstant.MIN_PLAYER_TO_START_GAME)
        {
            waitingForMinPlayer();
        }
    }
    public void highLightTurnPlayer(string player)
    {
        if (isRunningGame)
        {
            PlayerBean currentPlayer = playersManager.setCurrentTurnPlayer(player);

            if (appwarp.username.Equals(player))
            {
                playerBalance = currentPlayer.getBalance();
                RoundManager currentRoundManager = getCurrentRoundInfo();
                if (currentPlayer.isWaitingForGame())
                {
                    sendPlayerActionToServer(0, GameConstant.ACTION_WAITING_FOR_GAME);
                }
                else if (currentRound != GameConstant.TEXASS_ROUND_PREFLOP &&
                         currentRoundManager.getAllTurnRecords().Count == 0 &&
                         !currentPlayer.getPlayerName().Equals(playersManager.getSmallBlindPlayer().getPlayerName()))
                {
                    sendPlayerActionToServer(0, GameConstant.ACTION_NO_TURN);
                }
                else if (currentPlayer.isFoldedPlayer())
                {
                    sendPlayerActionToServer(0, GameConstant.ACTION_FOLDED);
                }
                else if (currentPlayer.isAllInPlayer())
                {
                    sendPlayerActionToServer(0, GameConstant.ACTION_ALL_IN);
                }
                else
                {
                    setEnableDisableOptions(true);
                }
            }
            else
            {
                playerBalance = 0;
                setEnableDisableOptions(false);
                //gameManagerGameObject.transform.Find(GameConstant.UI_PATH_BUTTONS).gameObject.SetActive(false);
            }
        }
        //raiseValue = 0;
        //gameManagerGameObject.transform.Find (GameConstant.UI_PATH_BET_CHIP_DETAILS).GetComponent<Text> ().text = GameConstant.CURRENCY + raiseValue;
    }
    IEnumerator DistributeHandCardsToAllPlayers()
    {
        PlayerBean dealerPlayer     = playersManager.getDealerPlayer();
        GameObject src              = dealerPlayer.getCardDeskObject();
        GameObject cardDeskPosition = dealerPlayer.getCardDeskPositionObject();

        cardDeskPosition.SetActive(true);
        src.SetActive(true);
        int i = 0;

        while (i < playersManager.getAllPlayers().Count)
        {
            PlayerBean player = playersManager.getAllPlayers() [i];
//			DEBUG.Log ("Name : "+ player.getPlayerName()+" >> "+player.isWaitingForGame()+" >> "+ player.isFoldedPlayer());
            if (!player.isWaitingForGame())
            {
//				DEBUG.Log ("Name : "+ player.getPlayerName()+" >< ");
                GameObject card1Obj = player.getCard1Object();
                GameObject card2Obj = player.getCard2Object();
                src.transform.position = cardDeskPosition.transform.position;
                animationManager.MoveCardsObject(src, card1Obj);
                yield return(new WaitForSeconds(GameConstant.ANIM_CARD_TIME));

                card1Obj.SetActive(true);

                src.transform.position = cardDeskPosition.transform.position;
                animationManager.MoveCardsObject(src, card2Obj);
                yield return(new WaitForSeconds(GameConstant.ANIM_CARD_TIME));

                card2Obj.SetActive(true);
            }
            else
            {
                DEBUG.Log("Name : " + player.getPlayerName());
            }
            i++;
        }
        dealerPlayer.getCardDeskObject().SetActive(false);
        cardDeskPosition.SetActive(false);
        src.transform.position = cardDeskPosition.transform.position;
    }
Beispiel #13
0
    private void sendPlayerActionToServer(int betAmount, int action)
    {
        iTween.Stab(gameObject, iTween.Hash("audioclip", buttonAudio, "pitch", 1));
        raiseValue          = 0;
        lastPlayerBetAmt    = 0;
        SliderChips.value   = 0f;
        SliderChips.enabled = false;
        gameObjectManager.getBetAmountText().text = GameConstant.CURRENCY + raiseValue;
        PlayerBean loginPlayer = playersManager.getPlayerFromName(appwarp.username);

        JSON_Object requestJson = new JSON_Object();

        try {
            requestJson.put(GameConstant.TAG_PLAYER_NAME, appwarp.username);
            requestJson.put(GameConstant.TAG_BET_AMOUNT, betAmount);
            requestJson.putOpt(GameConstant.TAG_ACTION, action);
            WarpClient.GetInstance().sendMove(GameConstant.REQUEST_FOR_ACTION + requestJson.ToString());
        } catch (Exception e) {
            Debug.Log("GameManager : " + e.ToString());
        }
        setEnableDisableOptions(false);
    }
Beispiel #14
0
    public void managePlayerMoveAction(string name, int betamount, int totalTableAmount, int totalPlayerBalance, int action)
    {
        PlayerBean   playerBean         = playersManager.getPlayerFromName(name);
        RoundManager currentRoundManger = getCurrentRoundInfo();

        if (currentRound == GameConstant.WA_ROUND_START && playerBean.isBigBlindPlayer())
        {
            totalBBPlayersTurn++;
        }

        if (currentRoundManger.getRound() == GameConstant.WA_ROUND_WHOOPASS)
        {
            StartCoroutine(managePlayerWACardAction(action, playerBean));
        }
        txtLog.text = txtLog.text.ToString() + "\n" + playerBean.getPlayerName() + " >> Action >> " + getActionName(action) + " >> " + betamount;
        Invoke("scrollDown", 1f);
        if (betamount > 0)
        {
            animationManager.MoveChipsObject(playerBean.getChipObject(), gameObjectManager.getTableChipSetObject());
//			yield return new WaitForSeconds (GameConstant.ANIM_WAITING_TIME);
            playerBean.getChipObject().transform.position = playerBean.getChipPositionObject().transform.position;
        }
        TurnManager turnManager = new TurnManager(playerBean, action, betamount);

        currentRoundManger.addTurnRecord(turnManager);
        int totalBetAmtInRound = currentRoundManger.getTotalPlayerBetAmount(playerBean);

        playerBean.setBetAmount(betamount, totalBetAmtInRound);
        playersManager.setLastPlayerAction(name, action, betamount, totalBetAmtInRound, totalPlayerBalance);
        if (playerBean.getBalance() <= 0 && !playerBean.isAllInPlayer())
        {
            playerBean.setPlayerBalance(0);              // if player balance is not enough
            playerBean.setAllInStatus(true);
        }
        setTotalBetTableAmount(totalTableAmount);
    }
Beispiel #15
0
    public void addNewPlayerOnTable(int id, string playerName, int balance, string card1, string card2, string waCard, int gameStatus, int playerStatus)
    {
        PlayerBean playerTmp = playersManager.getPlayerFromName(playerName);

        if (playerTmp == null)
        {
            PlayerBean player = new PlayerBean(
                gameObjectManager.getPlayerGameObject(playersManager.totalPlayerOnTable()),
                gameObjectManager.getPlayerChipsObject(playersManager.totalPlayerOnTable()),
                id,
                playerName,
                balance,
                card1,
                card2, waCard);
            player.setBetAmount(0, 0);
            if (playerStatus == GameConstant.ACTION_FOLDED)
            {
                player.setFoldedPlayer(true);
            }
            else if (playerStatus == GameConstant.ACTION_WAITING_FOR_GAME)
            {
                player.setIsWatingForGamePlayer();
                playersManager.closeActivePlayersCards();
            }
            playersManager.addPlayer(player);
        }
        else
        {
            playerTmp.setCardsAndBalance(balance, card1, card2, waCard);
        }

        if (playersManager.getAllPlayers().Count < GameConstant.MIN_PLAYER_TO_START_GAME)
        {
            waitingForMinPlayer();
        }
    }
Beispiel #16
0
    public IEnumerator managePlayerWACardAction(int action, PlayerBean playerBean)
    {
        PlayerBean dealerPlayer     = playersManager.getDealerPlayer();
        GameObject src              = dealerPlayer.getCardDeskObject();
        GameObject cardDeskPosition = dealerPlayer.getCardDeskPositionObject();

        cardDeskPosition.SetActive(true);
        src.SetActive(true);
        src.transform.position = cardDeskPosition.transform.position;
        if (action == GameConstant.ACTION_WA_UP)
        {
            animationManager.MoveCardsObject(src, playerBean.getWACardUPObject());
            yield return(new WaitForSeconds(GameConstant.ANIM_WAITING_TIME));

            playerBean.upWACardBuy();
        }
        else if (action == GameConstant.ACTION_WA_DOWN)
        {
            animationManager.MoveCardsObject(src, playerBean.getWACardDownObject());
            yield return(new WaitForSeconds(GameConstant.ANIM_WAITING_TIME));

            playerBean.downWACardBuy();
        }
    }
Beispiel #17
0
 public void setPlayer(PlayerBean player)
 {
     this.player = player;
 }
 public void setPlayerBetAmount(PlayerBean player, int betamount, int totalBetAmountInRound, int totalPlayerBalance)
 {
     player.setBetAmount(betamount, totalBetAmountInRound);
     player.setPlayerBalance(totalPlayerBalance);
 }
Beispiel #19
0
 public void setDealerPlayer(PlayerBean dealerPlayer)
 {
     this.dealerPlayer = dealerPlayer;
 }
 public void removePlayer(PlayerBean playerBean)
 {
     playerBean.goneFromTable();
     listPlayers.Remove(playerBean);
 }
Beispiel #21
0
 public void highLightTurnPlayer(string player)
 {
     if (isRunningGame)
     {
         PlayerBean currentPlayer = playersManager.setCurrentTurnPlayer(player);
         if (appwarp.username.Equals(player))
         {
             playerBalance = currentPlayer.getBalance();
             RoundManager currentRoundManager = getCurrentRoundInfo();
             if (currentPlayer.isWaitingForGame())
             {
                 sendPlayerActionToServer(0, GameConstant.ACTION_WAITING_FOR_GAME);
             }
             else if (currentRound != GameConstant.WA_ROUND_START &&
                      currentRoundManager.getAllTurnRecords().Count == 0 &&
                      !currentPlayer.getPlayerName().Equals(playersManager.getSmallBlindPlayer().getPlayerName()))
             {
                 sendPlayerActionToServer(0, GameConstant.ACTION_NO_TURN);
             }
             else if (currentRound == GameConstant.WA_ROUND_WHOOPASS)
             {
                 if (currentPlayer.isFoldedPlayer())
                 {
                     sendPlayerActionToServer(0, GameConstant.ACTION_WA_NO);
                     waPurchaseOption.SetActive(false);
                 }
                 else
                 {
                     // Check second flop round bet amount
                     waCardAmt = secondFlopRound.getWACardAmount();
                     // Check first flop round bet amount if WA amount 0
                     waCardAmt = waCardAmt == 0 ? firstFlopRound.getWACardAmount() : waCardAmt;
                     // Second flop round bet amount is 0 then WA card is depend on Big blind amount
                     waCardAmt = waCardAmt == 0 ? smallBlindAmount * 2 : waCardAmt;
                     // If player have not enough balance then WA card is based on player balance
                     PlayerBean loginPlayer = playersManager.getPlayerFromName(appwarp.username);
                     if (loginPlayer.getBalance() < waCardAmt)
                     {
                         waCardAmt = loginPlayer.getBalance();
                     }
                     if (currentPlayer.isAllInPlayer())
                     {
                         txtWATitle.text = "Buy WhoopAss Card for FREE.";
                     }
                     else
                     {
                         txtWATitle.text = "Buy WhoopAss Card for " + Utility.GetCurrencyPrefix() + waCardAmt;
                     }
                     waPurchaseOption.SetActive(true);
                 }
             }
             else
             {
                 if (currentPlayer.isFoldedPlayer())
                 {
                     sendPlayerActionToServer(0, GameConstant.ACTION_FOLDED);
                 }
                 else if (currentPlayer.isAllInPlayer())
                 {
                     sendPlayerActionToServer(0, GameConstant.ACTION_ALL_IN);
                 }
                 else
                 {
                     setEnableDisableOptions(true);
                 }
             }
         }
         else
         {
             if (currentRound == GameConstant.WA_ROUND_WHOOPASS)
             {
                 waPurchaseOption.SetActive(false);
             }
             else
             {
                 playerBalance = 0;
                 setEnableDisableOptions(false);
             }
         }
     }
 }
Beispiel #22
0
 public TurnManager(PlayerBean player, int playerAction, int betAmount)
 {
     this.player       = player;
     this.playerAction = playerAction;
     this.betAmount    = betAmount;
 }
Beispiel #23
0
    public void setSmallBlindDefaultBet()
    {
        PlayerBean smallBlind = playersManager.getSmallBlindPlayer();

        managePlayerMoveAction(smallBlind.getPlayerName(), smallBlindAmount, smallBlindAmount, (smallBlind.getBalance() - smallBlindAmount), GameConstant.ACTION_BET);
    }
    public IEnumerator hideWinnerRankPannel(PlayerBean winnerPlayer)
    {
        yield return(new WaitForSeconds(2f));

        winnerPlayer.getRankPannel().SetActive(false);
    }