Ejemplo n.º 1
0
 protected void RPC_SendRStartSicbo(string strJson)
 {
     jStartSicbo = JsonUtility.FromJson <JStartSicbo> (strJson);
 }
Ejemplo n.º 2
0
    IEnumerator _StartTimer(float timerValue)
    {
        SoundManager.instance.PlaySFX(SFXType.SFX_RoundStart, Vector3.zero);
        objStart.SetActive(true);
        objEnd.SetActive(false);
        yield return(_WFSUtility.wfs2);

        objStart.SetActive(false);
        bCanBet = true;
        //float timer = timerValue;
        while (timerValue > 0)
        {
            //timer = SicboTimer.instance.GetScaleZ();
            txtTimer.text = timerValue.ToString();
            yield return(new WaitForSeconds(1f));

            timerValue = timerValue - 1f;
        }
        //if (PhotonNetwork.isMasterClient)
        //{
        //    SicboTimer.instance.SetScaleZ (0f);
        //}
        txtTimer.text = "0";
        //yield return new WaitForSecondsRealtime (timerValue);
        bCanBet = false;
        unsortedPlayers[0].SubmitRecords();
        objEnd.SetActive(true);
        objStart.SetActive(false);
        yield return(_WFSUtility.wfs2);

        objEnd.SetActive(false);
        yield return(_WFSUtility.wfs1);

        jStartSicbo = null;
        PrepareStartSicbo();
        //if (apiPlayers != null)
        //unsortedPlayers[0].SetOtherPlayerBets ();
        if (PhotonNetwork.isMasterClient)
        {
            ApiManager.instance.StartSicbo();
        }
        while (jStartSicbo == null)
        {
            //call bHasRStartSicbo on RPC_SendRStartSicbo NOT on RStartSicbo
            yield return(_WFSUtility.wef);
        }

        //dice animation//
        diceHistory.SetHistory(jStartSicbo.dice[0], jStartSicbo.dice[1], jStartSicbo.dice[2]);
        dice.MoveToCenter(jStartSicbo.dice[0], jStartSicbo.dice[1], jStartSicbo.dice[2]);
        //
        yield return(_WFSUtility.wfs3);

        for (int i = 0; i < jStartSicbo.players.Length; i++)    //jStartSicbo.players does not contain duplicate player ID so length = number of players
        {
            for (int j = 0; j < jStartSicbo.players[i].bets.Length; j++)
            {
                bool bWin = false;
                if (long.Parse(jStartSicbo.players[i].bets[j].coin_won) > 0)
                {
                    bWin = true;
                }

                unsortedPlayers[0].ShowWinLoseTiles(bWin, jStartSicbo.players[i].bets[j].sicbo_type);
            }
        }

        if (PhotonNetwork.isMasterClient)
        {
            UpdateMoneyProperties(jStartSicbo.players);
        }
        yield return(_WFSUtility.wfs2);

        //chips from lose to dealer animation//
        //yield return _WFSUtility.wfs2;
        ////chips from dealer to win animation//
        //yield return _WFSUtility.wfs2;
        UpdateMoneyUI();
        unsortedPlayers[0].CleanUp();
        //TransitionToNextRound ();
        if (PhotonNetwork.isMasterClient)
        {
            PrepareSicboRound();
        }
        //HAVE NOT DEDUCT COIN FROM PLAYERS*
        //HAVE NOT SHOWN DEDUCTED COIN FROM OTHER PLAYERS*
        //disable bet*
        //send board state to all clients*
        //prepare start sicbo*
        //if master startSicbo*
        //give RStartSicbo to all clients*
        //wait until RStartSicbo != null*
        //dice animation
        //win lose fx*
        //take chip from losing
        //give chip to winning
        //update coin of each players*
        //start new round
    }