Example #1
0
    private void PrepareEndPoker()
    {
        int[] playersIndex = PhotonTexasPokerManager.instance.GetIndexesInMatch();

        for (int i = 0; i < ApiManager.instance.pokerPlayers.Length; i++)
        {
            ApiBridge.PokerPlayer p = ApiManager.instance.pokerPlayers[i];
            for (int j = 0; j < playersIndex.Length; j++)
            {
                if (playersIndex[j] >= 0)
                {
                    _PlayerPokerActor actor = stockPlayers[playersIndex[j]];
                    if (p.player_id == int.Parse(actor.myPlayer.NickName))
                    {
                        //totalBet >= 0 => lose | coin_won = totalBet * (-1) <= 0 | coin_bet = coin_won * (-1) = totalBet >= 0
                        //totalBet < 0 => win | coin_won = totalBet * (-1) > 0 | coin_bet = totalBet / (-0.9) > 0
                        if (actor.totalBet >= 0)
                        {
                            p.End(actor.totalBet, actor.totalBet * (-1), actor.myMoney);
                        }
                        else
                        {
                            p.End(Convert.ToInt64(actor.totalBet / (-0.9f)), actor.totalBet * (-1), actor.myMoney);
                        }
                    }
                }
            }
        }

        if (PhotonNetwork.isMasterClient)
        {
            ApiManager.instance.EndPoker(PokerData.poker_round_id);
        }
    }
Example #2
0
    public void SetPokerData(string jStartPoker)
    {
        //called by every client
        JStartPoker json = JsonUtility.FromJson <JStartPoker> (jStartPoker);

        PokerData.Setup(json.poker.poker_round_id, json.poker.room_bet_coin, json.poker.cards, json.poker.otp);
        api.SetOtp(json.poker.otp);

        for (int i = 0; i < json.poker.players.Length; i++)
        {
            if (json.poker.players[i].player_id == PlayerData.id)
            {
                if (json.poker.players[i].kick)
                {
                    PhotonTexasPokerManager.instance.KickFromServer();
                }
                else
                {
                    long lCoin = Convert.ToInt64(json.poker.players[i].coin_server);
                    if (lCoin <= GlobalVariables.MaxBuyIn)
                    {
                        PhotonTexasPokerManager.instance.SyncCoinFromServer(lCoin);
                    }
                }
            }
        }

        //sync poker players among master and non masters
        ApiBridge.PokerPlayer[] serverPlayers = new ApiBridge.PokerPlayer[8];
        for (int a = 0; a < 8; a++)
        {
            serverPlayers[a] = new ApiBridge.PokerPlayer();
        }
        for (int x = 0; x < json.poker.players.Length; x++)
        {
            serverPlayers[x] = new ApiBridge.PokerPlayer();
            long coinPlayer = Convert.ToInt64(json.poker.players[x].coin_before);
            serverPlayers[x].Start(json.poker.players[x].seater_id, json.poker.players[x].player_id, coinPlayer);
            long coinServer = Convert.ToInt64(json.poker.players[x].coin_server);
            serverPlayers[x].Update(coinServer, json.poker.players[x].kick);
        }
        pokerPlayers = serverPlayers;
    }