Exemple #1
0
        //public ClockCD ClockCd;

        /// <summary>
        /// 初始化用户信息
        /// </summary>
        /// <param name="gameInfo"></param>
        public void InitUser(ISFSObject gameInfo)
        {
            var gdata = App.GetGameData <BlackJackGameData>();

            //初始化自己的信息
            if (gameInfo.ContainsKey("user"))
            {
                ISFSObject selfInfo = gameInfo.GetSFSObject(RequestKey.KeyUser);

                SelfSeat   = selfInfo.GetInt(RequestKey.KeySeat);
                SelfPlayer = gdata.GetPlayer <BjPlayerPanel>(SelfSeat, true);

                SelfPlayer.NameLabel.Color = Color.yellow;



                bool isGaming = gdata.IsGameing;
                bool isReady  = selfInfo.GetBool("state");
                SelfPlayer.SetReadyBtnActive(!isGaming && !isReady);
                SelfPlayer.SetReadyMarkActive(!isGaming && isReady);
            }


            //初始化其他玩家信息
            if (gameInfo.ContainsKey("users"))
            {
                //初始化每个玩家的信息
                ISFSArray users = gameInfo.GetSFSArray(RequestKey.KeyUserList);
                foreach (ISFSObject user in users)
                {
                    int seat         = user.GetInt(RequestKey.KeySeat);
                    var someonePanel = gdata.GetPlayer <BjPlayerPanel>(seat, true);

                    someonePanel.gameObject.SetActive(true);
                    someonePanel.SetReadyBtnActive(false);                                                                            //隐藏其他玩家的准备按钮
                    someonePanel.SetReadyMarkActive(user.GetBool("state") && !user.ContainsKey("bet") && !user.ContainsKey("cards")); //设置玩家的准备状态

                    if (user.ContainsKey("bet"))
                    {
                        someonePanel.BetMoney = user.GetInt("bet");
                    }

                    if (user.ContainsKey("cards"))
                    {
                        int[] cards = user.GetIntArray("cards");
                        DealPokerMgr.DealPokerNoAnim(seat, cards);
                    }
                }

                if (gameInfo.ContainsKey("bankcards"))
                {
                    int[] bankCards = gameInfo.GetIntArray("bankcards");
                    DealPokerMgr.DealPokerNoAnim(gdata.BjBankerBanker, bankCards);
                }
            }
        }
Exemple #2
0
        /// <summary>
        /// 游戏数据重置
        /// </summary>
        /// <param name="init">是否直接清理玩家手牌,不播放动画</param>
        public virtual void Reset(bool init = false)
        {
            PublicPokers = new List <PokerCard>();

            DealPokerMgr.Reset();
            SpeakMgr.Reset();
            BetMgr.Reset();
            YxClockManager.StopToCountDown();

            var gdata      = App.GetGameData <BlackJackGameData>();
            var playerList = gdata.PlayerList;

            foreach (GameObject bet in Bets)
            {
                Destroy(bet);
            }
            Bets.Clear();

            if (init)
            {
                YxDebug.LogError("Reset but && Init");
                foreach (var yxBaseGamePlayer in playerList)
                {
                    var player = (BjPlayerPanel)yxBaseGamePlayer;
                    player.Reset();
                }
                foreach (PokerCard publicPoker in PublicPokers)
                {
                    Destroy(publicPoker.gameObject);
                }
                PublicPokers.Clear();
                gdata.BjBankerBanker.Reset();
            }
            else
            {
                foreach (var yxBaseGamePlayer in playerList)
                {
                    var player = (BjPlayerPanel)yxBaseGamePlayer;
                    player.ThrowPokersWithAnim();
                    player.Reset();
                }
                var banker = gdata.BjBankerBanker;
                banker.ThrowPokersWithAnim();
                banker.Reset();
            }
            SelfPlayer.SetReadyBtnActive(true);
        }