Exemple #1
0
    public IEnumerator _LoadMenu()
    {
        Logger.E("start load menu");

        _SceneManager.instance.SetActiveScene(SceneType.HOME, true);
        _SceneManager.instance.SetActiveScene(SceneType.POKER, false);

        Hide();

        GlobalVariables.bInGame = false;
        if (GlobalVariables.gameType == GameType.TexasPoker)
        {
            PhotonTexasPokerManager.instance.StopAllCoroutines();
            _PokerGameManager.instance.StopAllCoroutines();

            _PokerGameHUD.instance.boxThrow.Hide();
            _PokerGameHUD.instance.buyInHUD.Hide();
            _PokerGameHUD.instance.Hide();

            //yield return null;

            _PokerGameManager.instance.CleanEverything();

            PhotonTexasPokerManager.instance.ClearPlayerProperties(PhotonNetwork.player);

            //yield return null;
            PokerData.Reset();
        }

        PokerManager.instance.uiRoundRestart.Hide();
        PokerManager.instance.uiWaitingPlayers.Hide();
        PokerManager.instance.uiWaitingNextRound.Hide();

        if (PhotonNetwork.room != null)
        {
            PhotonNetwork.LeaveRoom();
            //Debug.LogError ("leaving photon room");
        }

        PhotonRoomInfoManager.instance.RemoveCardGameScripts();

        yield return(null);
        ////        Debug.Log("Going back to main menu!");
        ////LoginSceneManager.Instance.uiBusyIndicator.Show(true);

        ////HomeSceneManager.Instance.myHomeMenuReference.wholeUI.SetActive (true);
        ////CameraManager.instance.HideGameCamera();

        //SoundManager.instance.sfxSource.Stop();
        //SoundManager.instance.sfxSource2.Stop();


        //RoomInfoManager.instance.DeactiveGameEnvi();

        //HomeSceneManager.stockBot.Clear();

        //HomeSceneManager.Instance.myHomeMenuReference.uiHome.SetDataOffline();
        //HomeSceneManager.Instance.GetHome();
        //LoginSceneManager.Instance.uiBusyIndicator.Hide ();
    }
Exemple #2
0
    void HandlePokerDirect()
    {
        while (m_PokerDataList.Count > 0)
        {
            PokerData data = m_PokerDataList[0];

            if (data.Sit < RoomInfo.PlayerNum)
            {
                m_BjGameBase.m_RoomInfo.m_PlayerList[data.Sit].HandleAddPoker(data.Pos, data.Card, data.Points, data.OtherPoints);
            }
            else
            {
                int count = m_BjGameBase.m_RoomInfo.m_Dealer.m_vecBlackPoker[0].Count;

                if (count == 2 && !m_bOpenCard && m_BjGameBase.m_RoomInfo.m_Dealer.m_nOpenPoke > 0)//等待翻牌
                {
                    m_BjGameBase.m_RoomInfo.m_Dealer.Update2ndPoker(true, data.Points, data.OtherPoints);
                }
                else
                {
                    m_BjGameBase.m_RoomInfo.m_Dealer.HandleAddPoker(0, data.Card, data.Points, data.OtherPoints);
                }
            }

            m_PokerDataList.RemoveAt(0);
        }

        m_LeftCardMesh.gameObject.SetActive(true);
        m_RightCardMesh.gameObject.SetActive(true);
    }
    public void Add(int iCardIndex)
    {
        PokerData pd = new PokerData();

        pd.iCardIndex = iCardIndex;
        pd.sprite     = sprites[iCardIndex + 1] as Sprite;
        pd.bShadow    = false;
        cardDatas.Add(pd);
        //CardCount(cardDatas.Count);
    }
Exemple #4
0
 public void AddPLayerPoker(int num, int color)
 {
     if (index < GameConst.cardMaxNum)
     {
         playerPokers[index++] = new PokerData(num, color);
     }
     else
     {
         Debug.Log("add index out of the range!");
     }
 }
        public void ReplayHand(string HandHistoryStr)
        {
            Visibility = Visibility.Visible;

            var pokerData = PokerData.FromText(HandHistoryStr);

            if (pokerData.PokerHands.Any())
            {
                UcReplayerTable_Main.ReplayHand(pokerData.PokerHands.First());
            }

            Topmost = true;
            Topmost = false;
        }
Exemple #6
0
    public void CardsToPlayer(byte sit, byte points, byte other, byte pos = 0, byte card = 0)
    {
        PokerData data = new PokerData();

        data.Sit         = sit;
        data.Pos         = pos;
        data.Card        = card;
        data.Points      = points;
        data.OtherPoints = other;
        List <PokerData> list = new List <PokerData> {
            data
        };

        CardsToPlayer(list);
    }
Exemple #7
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;
    }
Exemple #8
0
    public void LoadMenu()
    {
        Logger.E("start load menu");

        _SceneManager.instance.SetActiveScene(SceneType.HOME, true);
        _SceneManager.instance.SetActiveScene(SceneType.POKER, false);

        Hide();

        GlobalVariables.bInGame = false;
        if (GlobalVariables.gameType == GameType.TexasPoker)
        {
            PhotonTexasPokerManager.instance.StopAllCoroutines();
            _PokerGameManager.instance.StopAllCoroutines();

            _PokerGameHUD.instance.boxThrow.Hide();
            _PokerGameHUD.instance.buyInHUD.Hide();
            _PokerGameHUD.instance.Hide();

            //yield return null;

            _PokerGameManager.instance.CleanEverything();

            PhotonTexasPokerManager.instance.ClearPlayerProperties(PhotonNetwork.player);

            //yield return null;
            PokerData.Reset();
        }

        PokerManager.instance.uiRoundRestart.Hide();
        PokerManager.instance.uiWaitingPlayers.Hide();
        PokerManager.instance.uiWaitingNextRound.Hide();

        if (PhotonNetwork.room != null)
        {
            PhotonNetwork.LeaveRoom();
            //Debug.LogError ("leaving photon room");
        }

        PhotonRoomInfoManager.instance.RemoveCardGameScripts();
    }
Exemple #9
0
    public void LoadSwitchTable()
    {
        GlobalVariables.bInGame = false;
        //LoginSceneManager.Instance.uiBusyIndicator.Show(true);

        PokerManager.instance.uiRoundRestart.Hide();
        PokerManager.instance.uiWaitingPlayers.Hide();
        PokerManager.instance.uiWaitingNextRound.Hide();

        //SoundManager.instance.sfxSource.Stop ();
        //SoundManager.instance.sfxSource2.Stop ();


        if (GlobalVariables.gameType == GameType.TexasPoker)
        {
            PhotonTexasPokerManager.instance.StopAllCoroutines();
            _PokerGameManager.instance.StopAllCoroutines();

            _PokerGameHUD.instance.boxThrow.Hide();
            _PokerGameHUD.instance.buyInHUD.Hide();
            _PokerGameHUD.instance.Hide();

            _PokerGameManager.instance.CleanEverything();

            PhotonTexasPokerManager.instance.ClearPlayerProperties(PhotonNetwork.player);

            PokerData.Reset();
        }

        PhotonRoomInfoManager.instance.RemoveCardGameScripts();
        PhotonRoomInfoManager.instance.InitialiseCardGameScripts();

        //HomeSceneManager.stockBot.Clear();

        //StartCoroutine (RoomInfoManager.instance._SwitchingRoom ());
        RoomInfoManager.instance.SwitchingRoom();

        Hide();
    }
        private void ReadFiles()
        {
            var toRemove = new List <string>();
            var toUpdate = new Dictionary <string, long>();

            foreach (var fileNameBytesRead in _fileNameBytesRead)
            {
                var fi = new FileInfo(fileNameBytesRead.Key);
                if (!fi.Exists)
                {
                    // add ro remove list
                    toRemove.Add(fileNameBytesRead.Key);
                }
                else if (fi.Length > fileNameBytesRead.Value)
                {
                    // needs to read
                    var pokerData = PokerData.FromText(Methods.ReadSeek(fi.FullName, fileNameBytesRead.Value));
                    var hands     = pokerData.PokerHands.Select(pokerHand => Hand.Parse(pokerHand.HandHistory)).Where(hand => hand != null).ToList();
                    AddHands(hands);

                    toUpdate.Add(fi.FullName, fi.Length);
                    _importErrors += pokerData.ErrorHandHistories.Count;
                }

                UpdateUI();
            }

            // remove non-existing files
            foreach (var fileName in toRemove)
            {
                _fileNameBytesRead.Remove(fileName);
            }

            // update existing
            foreach (var pair in toUpdate)
            {
                _fileNameBytesRead[pair.Key] = pair.Value;
            }
        }
        private PokerData GetPokerInfo()
        {
            PokerData output = new PokerData();
            ScoreInfo scores = new ScoreInfo();

            scores.CardList = _cardList.ToRegularDeckDict();
            if (scores.IsRoyalFlush())
            {
                output.Message = "Royal flush";
                output.Mults   = 128;
                return(output);
            }
            if (scores.IsStraightFlush())
            {
                output.Message = "Straight flush";
                output.Mults   = 64;
                return(output);
            }
            if (scores.Kinds(4))
            {
                output.Message = "Four of a kind";
                output.Mults   = 32;
                return(output);
            }
            if (scores.IsFullHouse())
            {
                output.Message = "Full house";
                output.Mults   = 16;
                return(output);
            }
            if (scores.IsFlush())
            {
                output.Message = "Flush";
                output.Mults   = 8;
                return(output);
            }
            if (scores.IsStraight())
            {
                output.Message = "Straight";
                output.Mults   = 4;
                return(output);
            }
            if (scores.Kinds(3))
            {
                output.Message = "Three of a kind";
                output.Mults   = 2;
                return(output);
            }
            if (scores.MultiPair())
            {
                output.Message = "Two pairs";
                output.Mults   = 1;
                return(output);
            }
            if (scores.Kinds(2))
            {
                output.Message = "Pair";
                output.Mults   = 0;
                return(output);
            }
            if (scores.HasAce())
            {
                output.Message = "High card ace";
                output.Mults   = -0.5m;
                return(output);
            }
            output.Message = "Nothing";
            output.Mults   = -1;
            return(output);
        }
Exemple #12
0
    IEnumerator DealPlayerCards(Coroutine cor)
    {
        yield return(cor);

        yield return(new WaitWhile(() => (m_bLookCard || m_Animator.GetBool("Ask"))));

        m_bDealPoker = true;

        m_Animator.SetTrigger("EndIdle");

        while (m_PokerDataList.Count > 0)
        {
            PokerData data = m_PokerDataList[0];

            if (data.Sit < RoomInfo.PlayerNum)
            {
                ChangePokerMat(data.Card);

                m_Animator.SetBool("PickCard", true);

                yield return(new WaitUntil(() => (m_bPickCard && !m_bDealEnd)));

                m_Animator.SetBool("DealCardPlayer", true);
                m_Animator.SetFloat("PlayerID", data.Sit);
                //Transform tfm = m_BjGameBase.m_RoomInfo.m_PlayerList[data.Sit].GetPokerTfm(data.Pos);
                //m_IKCtrl.target = tfm.GetChild(0);
                m_Animator.SetFloat("PileID", data.Pos);
                int pos = data.Pos;
                if (pos > 0)
                {
                    pos--;
                }
                m_Animator.SetFloat("PlayerCardID", m_BjGameBase.m_RoomInfo.m_PlayerList[data.Sit].m_vecBlackPoker[pos].Count);

                yield return(new WaitUntil(() => (m_bAddCard)));

                m_bAddCard = false;
                m_LeftCardMesh.gameObject.SetActive(false);
                m_RightCardMesh.gameObject.SetActive(false);
                m_BjGameBase.m_RoomInfo.m_PlayerList[data.Sit].HandleAddPoker(data.Pos, data.Card, data.Points, data.OtherPoints);
                m_PokerDataList.RemoveAt(0);

                yield return(new WaitUntil(() => (m_bDealEnd)));

                //m_Animator.SetBool("Ask", m_bAsking);
                m_Animator.SetBool("DealCardPlayer", false);
                //m_IKCtrl.target = null;
            }
            else
            {
                int count = m_BjGameBase.m_RoomInfo.m_Dealer.m_vecBlackPoker[0].Count;

                if (count == 2 && !m_bOpenCard && m_BjGameBase.m_RoomInfo.m_Dealer.m_nOpenPoke > 0)//等待翻牌
                {
                    ChangePokerMat(m_BjGameBase.m_RoomInfo.m_Dealer.m_vecBlackPoker[0][1]);

                    m_Animator.SetBool("PickCard", false);
                    m_Animator.SetBool("Ask", false);

                    m_Animator.SetTrigger("OpenCard");

                    yield return(new WaitUntil(() => (m_bAddCard)));

                    m_BjGameBase.m_RoomInfo.m_Dealer.Update2ndPoker(true, data.Points, data.OtherPoints);
                    m_bAddCard = false;
                    m_LeftCardMesh.gameObject.SetActive(false);
                    m_RightCardMesh.gameObject.SetActive(false);
                    m_PokerDataList.RemoveAt(0);

                    yield return(new WaitUntil(() => (m_bOpenCard)));
                }
                else
                {
                    m_Animator.SetBool("PickCard", true);

                    yield return(new WaitUntil(() => (m_bPickCard && !m_bDealEnd)));

                    string param;
                    if (count == 0)
                    {
                        param = "DealCardDealer";
                    }
                    else if (count == 1)
                    {
                        ChangePokerMat(m_BjGameBase.m_RoomInfo.m_Dealer.m_vecBlackPoker[0][0]);
                        param = "DealCardDealerScend";
                    }
                    else
                    {
                        ChangePokerMat(data.Card);
                        m_Animator.SetFloat("DealerCardID", count + 1);
                        param = "DealCardDealer3rd";
                    }
                    m_Animator.SetBool(param, true);

                    yield return(new WaitUntil(() => (m_bAddCard)));

                    m_bAddCard = false;
                    m_LeftCardMesh.gameObject.SetActive(false);
                    m_RightCardMesh.gameObject.SetActive(false);
                    m_BjGameBase.m_RoomInfo.m_Dealer.HandleAddPoker(0, data.Card, data.Points, data.OtherPoints);
                    m_PokerDataList.RemoveAt(0);

                    yield return(new WaitUntil(() => (m_bDealEnd)));

                    m_Animator.SetBool(param, false);
                }
            }

            m_LeftCardMesh.gameObject.SetActive(true);
            m_RightCardMesh.gameObject.SetActive(true);
        }

        m_Animator.SetBool("PickCard", m_bAsking);

        m_bDealPoker = false;
    }