Пример #1
0
        private IEnumerator ShowHdCdOnGameOver(DdzbaseEventArgs args)
        {
            yield return(new WaitForSeconds(2f));

            ClearAllOutCds();
            ShowHandCds(App.GetGameData <GlobalData>().GetLeftPlayerSeat, args.IsfObjData.GetSFSArray("users"));
        }
Пример #2
0
        public override void OnGetGameInfo(ISFSObject gameInfo)
        {
            var eventArgs = new DdzbaseEventArgs(gameInfo);

            Facade.EventCenter.DispatchEvent(GlobalConstKey.KeyGetGameInfo, eventArgs);
            App.GetGameData <DdzGameData>().FinishRoomInfo = true;
        }
Пример #3
0
        /// <summary>
        /// 重连游戏
        /// </summary>
        /// <param name="args"></param>
        protected void OnRejoinGame(DdzbaseEventArgs args)
        {
            OnGetGameInfo(args);        //获取房间基本参数

            //初始化解散房间
            var landRequestData = args.IsfObjData;

            //如果接收重连解散信息则不响应
            if (!landRequestData.ContainsKey("hup"))
            {
                return;
            }
            HandupView.SetActive(true);

            var time = (int)(landRequestData.GetLong("svt") - landRequestData.GetLong("hupstart"));

            time = _cdtime - time;
            time = time < 0 ? 0 : time;
            SetTime(_cdtime);
            StartCoroutine(CuntDownTime(time));

            string[] ids = landRequestData.GetUtfString("hup").Split(',');
            CreateHundItems();
            for (int i = 0; i < ids.Length; i++)
            {
                int userId = int.Parse(ids[i]);
                HideChoiseBtns(userId);
                var item = GetItem(userId);
                if (item == null)
                {
                    continue;
                }
                item.SetItemType(3);
            }
        }
Пример #4
0
        protected virtual void OnGetRejionGameInfo(DdzbaseEventArgs args)
        {
            var data = args.IsfObjData;

            if (data.ContainsKey(NewRequestKey.KeyLandLord))
            {
                int landLord = data.GetInt(NewRequestKey.KeyLandLord);
                LandMark.SetActive(Info.Seat == landLord);
            }
            else
            {
                LandMark.SetActive(false);
            }

            var ddzUserInfo = ((DdzUserInfo)Info);

            if (ddzUserInfo.Network)
            {
                UserOnLine();
            }
            else
            {
                UserIdle();
            }

            SetAutoState(ddzUserInfo.AutoState);
        }
Пример #5
0
        /// <summary>
        /// 检查游戏状态
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="args"></param>
        private void CheckGameStatus(object sender, DdzbaseEventArgs args)
        {
            var data = args.IsfObjData;

            if (data.ContainsKey(NewRequestKey.KeyClientArgs2))
            {
                var cargsData = data.GetSFSObject(NewRequestKey.KeyClientArgs2);

                _roomPlayInfo  = cargsData.GetUtfString(NewRequestKey.KeyModel).Equals("2") ? "跑得快15张," : "跑得快16张,";
                _roomPlayInfo += " 人数:" + cargsData.GetUtfString(NewRequestKey.KeyPlen) + "人";
                if (cargsData.GetUtfString(NewRequestKey.KeyHeisan) == "1")
                {
                    _roomPlayInfo += ",黑三先出";
                }
            }

            if (data.ContainsKey(NewRequestKey.KeyOwerId))
            {
                _owerId = data.GetInt(NewRequestKey.KeyOwerId);
            }

            if (data.ContainsKey(NewRequestKey.KeyState) &&
                data.GetInt(NewRequestKey.KeyState) == GlobalConstKey.StatusIdle)
            {
                if (data.ContainsKey(NewRequestKey.KeyCurRound) && data.GetInt(NewRequestKey.KeyCurRound) <= 1)
                {
                    IsStartGame = false;
                    return;
                }
            }

            IsStartGame = true;
        }
Пример #6
0
        /// <summary>
        /// 当有人叫了分了
        /// </summary>
        /// <param name="args"></param>
        protected void OnTypeGrab(DdzbaseEventArgs args)
        {
            var data  = args.IsfObjData;
            var gdata = App.GetGameData <DdzGameData>();
            //分数
            var score = data.GetInt(GlobalConstKey.C_Score);
            var seat  = data.GetInt(GlobalConstKey.C_Sit);//座位
            var sex   = gdata.GetOnePlayerInfo(seat, true).SexI;

            if (sex != 0 && sex != 1)
            {
                sex = 0;
            }
            string source = sex == 1 ? "man" : "woman";
            //string soundName;
            //if (score > 0)
            //{
            //    soundName = string.Format("{0}{1}_{2}fen", LanguageType, sex, score); //LanguageType + sex + "_" + score + "fen";    //叫很喊出分数
            //}
            //else
            //{
            //    soundName = string.Format("{0}{1}_{2}fen", LanguageType, sex, score);  //LanguageType + sex + "_" + "bujiao";   //0分布叫
            //}
            string soundName = string.Format("{0}{1}_{2}{3}", LanguageType, sex, score,
                                             gdata.RobModel ? "qiangdizhu" : "fen");

            PlayAudioOneShot(soundName, source);
        }
Пример #7
0
        /// <summary>
        /// 当确定地主后,看自己是不是地主,来判断是否显示按钮
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="args"></param>
        protected override void OnFirstOut(object sender, DdzbaseEventArgs args)
        {
            base.OnFirstOut(sender, args);

            var data = args.IsfObjData;

            _landSeat = data.GetInt(RequestKey.KeySeat);
            if (_landSeat != App.GetGameData <GlobalData>().GetSelfSeat)
            {
                HideAllBtns();
                return;
            }

            _lastOutData.PutInt(RequestKey.KeySeat, _landSeat);

            //如果没有加倍设置
            if (!data.GetBool(NewRequestKey.KeyJiaBei))
            {
                DisableAllBtns();
            }
            else
            {
                HideAllBtns();
            }
        }
Пример #8
0
        /// <summary>
        /// 进入游戏,接受到数据
        /// </summary>
        /// <param name="args"></param>
        protected virtual void OnGetGameInfo(DdzbaseEventArgs args)
        {
            var sfsObj = args.IsfObjData;

            if (sfsObj == null)
            {
                return;
            }
            if (!sfsObj.ContainsKey("cargs2"))
            {
                return;
            }
            var cargs2 = sfsObj.GetSFSObject("cargs2");

            if (cargs2 == null)
            {
                return;
            }
            if (!cargs2.ContainsKey("-qt"))
            {
                return;
            }
            var qt = cargs2.GetUtfString("-qt");

            _robModel = qt.Equals("1") || qt.Equals("2");
        }
Пример #9
0
        private void OnGetRejoionData(object obj, DdzbaseEventArgs args)
        {
            var data = args.IsfObjData;

            if (data.ContainsKey(NewRequestKey.KeyState) &&
                data.GetInt(NewRequestKey.KeyState) == GlobalConstKey.StatusChoseBanker)
            {
                if (!DDzUtil.IsServDataContainAllKey(
                        new[]
                {
                    NewRequestKey.KeyCurrp, NewRequestKey.KeyQt,
                    NewRequestKey.KeyMinScore
                }, data))
                {
                    SetAllBtnsActive(false);
                    return;
                }


                //当前谁发言
                int curCallSeat = data.GetInt(NewRequestKey.KeyCurrp);
                if (App.GetGameData <GlobalData>().GetSelfSeat == curCallSeat)
                {
                    ServDataTemp = data;
                    RefreshUiInfo();
                }
                else
                {
                    SetAllBtnsActive(false);
                }
            }
        }
Пример #10
0
        /// <summary>
        /// 当收到加倍已经结束的信息
        /// </summary>
        protected virtual void OnDoubleOver(object sender, DdzbaseEventArgs args)
        {
            if (UserDataTemp == null)
            {
                return;
            }

            var data = args.IsfObjData;

            var rates        = data.GetIntArray("jiabei");
            var len          = rates.Length;
            var thisUserSeat = UserDataTemp.GetInt(RequestKey.KeySeat);

            for (int i = 0; i < len; i++)
            {
                if (thisUserSeat != i)
                {
                    continue;
                }
                if (rates[i] > 1)
                {
                    SetSpeakSpState(true, SpkJiabei);
                    ShowJiaBeiSp.gameObject.SetActive(true);
                }
                else
                {
                    SetSpeakSpState(true, SpkBuJiabei);
                }

                break;
            }

            StopCoroutine("HideJiabeiSp");
            StartCoroutine("HideJiabeiSp");
        }
Пример #11
0
        /// <summary>
        /// 当轮到某人要准备要叫分时
        /// </summary>
        protected void OnTypeGrabSpeaker(object obj, DdzbaseEventArgs args)
        {
            var data = args.IsfObjData;

            if (!DDzUtil.IsServDataContainAllKey(
                    new[]
            {
                RequestKey.KeySeat, NewRequestKey.KeyTttype
            }, data))
            {
                return;
            }

            if (App.GetGameData <GlobalData>().GetSelfSeat != data.GetInt(RequestKey.KeySeat))
            {
                SetAllBtnsActive(false);
                return;
            }

            if (ServDataTemp == null)
            {
                ServDataTemp = new SFSObject();
            }

            ServDataTemp = data;
            //把与"qt"相同引用值的 "ttype" 的值赋值过来
            ServDataTemp.PutInt(NewRequestKey.KeyQt, data.GetInt(NewRequestKey.KeyTttype));
            RefreshUiInfo();
        }
Пример #12
0
        protected virtual void OnUserOut(object sender, DdzbaseEventArgs args)
        {
            if (UserDataTemp == null)
            {
                return;
            }

            var data = args.IsfObjData;

            if (data == null || !data.ContainsKey(RequestKey.KeySeat))
            {
                return;
            }
            if (UserDataTemp != null && data.GetInt(RequestKey.KeySeat) == UserDataTemp.GetInt(RequestKey.KeySeat))
            {
                //如果已经开始游戏了,则不做玩家离开设置
                if (App.GetGameData <GlobalData>().IsStartGame)
                {
                    SetDuanXianSp(true);
                }
                else
                {
                    gameObject.SetActive(false);
                }
            }
        }
Пример #13
0
        /// <summary>
        /// 根据服务器数据设置用户信息
        /// </summary>
        protected override void SetUserInfo(object sender, DdzbaseEventArgs args)
        {
            var data = args.IsfObjData;

            SetOtherPlayerData(data);

/*             //如果是选择加倍阶段则不显示出牌操作相关按钮
 *          if (data.ContainsKey(NewRequestKey.KeyState) &&
 *              data.GetInt(NewRequestKey.KeyState) == GlobalConstKey.StatusDouble)
 *          {
 *
 *
 *              var users = data.GetSFSArray(RequestKey.KeyUserList);
 *
 *              for (int i = 0; i < users.Count; i++)
 *              {
 *                  ISFSObject user = users.GetSFSObject(i);
 *                  int userSeat = user.GetInt("seat");
 *                  if (userSeat != UserDataTemp.GetInt(RequestKey.KeySeat)) continue;
 *
 *
 *
 *                  var rate = user.GetInt("rate");
 *                  if (rate > 0)
 *                      ShowSpeakSp.spriteName = rate > 1 ? SpkJiabei : SpkBuJiabei;
 *                  else
 *                  {
 *                      SeltingDoublelabel.gameObject.SetActive(true);
 *                      SeltingDoublelabel.text = "正在选择加倍";
 *                  }
 *                  break;
 *              }
 *          }*/
        }
Пример #14
0
        protected override void OnAlloCateCds(DdzbaseEventArgs args)
        {
            base.OnAlloCateCds(args);
            var data = args.IsfObjData;

            CardCount = data.GetIntArray(GlobalConstKey.C_Cards).Length;
        }
Пример #15
0
        /// <summary>
        /// 如果有人出牌
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="args"></param>
        protected override void OnTypeOutCard(object sender, DdzbaseEventArgs args)
        {
            //_mayoutCdsTemp = null;
            //与ResetHdCds,AddHdCds,RemoveHdCds相关

            if (HdCdctrlInstance != null)
            {
                HdCdctrlInstance.SetActiveHdcdsBack(false);
            }

            base.OnTypeOutCard(sender, args);

            _lastOutData = args.IsfObjData;

            if (App.GetGameData <GlobalData>().PlayerMaxNum == 3)
            {
                if (_lastOutData.GetInt(RequestKey.KeySeat) == App.GetGameData <GlobalData>().GetLeftPlayerSeat)
                {
                    OnNotSelfOutCds(_lastOutData);
                    return;
                }
            }
            else
            {
                if (_lastOutData.GetInt(RequestKey.KeySeat) == App.GetGameData <GlobalData>().GetRightPlayerSeat)
                {
                    OnNotSelfOutCds(_lastOutData);
                    return;
                }
            }

            HideAllBtns();
        }
Пример #16
0
        /// <summary>
        /// 当是上家出牌时,之前说的话要消失
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="args"></param>
        private void OnTypeOutCard(object sender, DdzbaseEventArgs args)
        {
            if (!_isleftPlayerActive || UserDataTemp == null)
            {
                return;
            }
            var data    = args.IsfObjData;
            var curSeat = data.GetInt(RequestKey.KeySeat);

            if (curSeat == UpSeatInt)
            {
                SetSpeakSpState(false);
            }
            else if (curSeat == OwnSeatInt)
            {
                SetSpeakSpState(false);
                var cdsLen        = data.GetIntArray(RequestKey.KeyCards).Length;
                var curselfCdsNum = UserDataTemp.GetInt(NewRequestKey.KeyCardNum) - cdsLen;
                UserDataTemp.PutInt(NewRequestKey.KeyCardNum, curselfCdsNum);
                var globalUserInfoLeft = App.GetGameData <GlobalData>().GetUserInfo(curSeat);
                if (globalUserInfoLeft != null)
                {
                    globalUserInfoLeft.PutInt(NewRequestKey.KeyCardNum, curselfCdsNum);
                }
                App.GetGameData <GlobalData>().OnSomePlayerHdcdsChange(curSeat, curselfCdsNum);
                CdNumLabel.text = curselfCdsNum.ToString(CultureInfo.InvariantCulture);
                if (curselfCdsNum > 0 && curselfCdsNum < 2 & JingDengAnim != null)
                {
                    JingDengAnim.SetActive(true);
                }
            }
        }
Пример #17
0
        /// <summary>
        /// 当游戏结算时
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="args"></param>
        void OnTypeGameOver(object sender, DdzbaseEventArgs args)
        {
            //隐藏所有出牌操作按钮
            HideAllBtns();

            StartCoroutine(OnGameOverieumer());
        }
Пример #18
0
        /// <summary>
        /// 重连游戏
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="args"></param>
        protected virtual void OnRejoinGame(object sender, DdzbaseEventArgs args)
        {
            var data = args.IsfObjData;

            if (!data.ContainsKey(RequestKey.KeyUser))
            {
                return;
            }

            var userSelf = data.GetSFSObject(RequestKey.KeyUser);

            if (!userSelf.ContainsKey(GlobalConstKey.C_Cards))
            {
                return;
            }

            var cards = userSelf.GetIntArray(GlobalConstKey.C_Cards);

            if (cards == null || cards.Length < 0)
            {
                return;
            }

            ResetHdCds(cards);
            RefreshUiInfo();
        }
Пример #19
0
        /// <summary>
        /// 当一局游戏结算时
        /// </summary>
        /// <param name="args"></param>
        protected void OnTypeOneRoundOver(DdzbaseEventArgs args)
        {
            OneRoundRecordData = args.IsfObjData;
            if (OneRoundRecordData == null)
            {
                return;
            }

            if (BackToHallBtn)
            {
                SetActive(BackToHallBtn, !App.GetGameData <DdzGameData>().IsRoomGame);
                if (BtnGrid != null)
                {
                    BtnGrid.repositionNow = true;
                    BtnGrid.Reposition();
                }
            }

            var userDataArray = OneRoundRecordData.GetSFSArray("users");

            int ante = OneRoundRecordData.GetInt("ante");
            int len  = _userRecords.Length;

            for (int i = 0; i < len; i++)
            {
                SetUserRecord(_userRecords[i], userDataArray.GetSFSObject(i), i, ante);
            }

            RefreshPlayerInfo(args.IsfObjData);         //刷新玩家信息
            StartCoroutine(ShowUiInfoLater());          //延迟显示结算界面
        }
Пример #20
0
        private IEnumerator ShowHdCdOnGameOver(DdzbaseEventArgs args)
        {
            yield return(new WaitForSeconds(2f));

            ClearAllOutCds();
            ShowHandCds(App.GetGameData <GlobalData>().GetSelfSeat, args.IsfObjData.GetSFSArray("users"));
            var isfdata = args.IsfObjData;

            if (!isfdata.ContainsKey(NewRequestKey.KeySpring))
            {
                yield break;
            }
            //判断是否显示春天特效
            if (!isfdata.GetBool(NewRequestKey.KeySpring))
            {
                yield break;
            }
            ParticalChunTian.SetActive(false);
            ParticalChunTian.SetActive(true);
            ParticalChunTian.GetComponent <ParticleSystem>().Stop();
            ParticalChunTian.GetComponent <ParticleSystem>().Play();
            if (isfdata.GetInt("gold") > 0)
            {
                Facade.Instance <MusicManager>().Play("winchuntian");
                //Debug.Log("-><color=#9400D3>" + "春天——WIn春天——WIn春天——WIn春天——WIn春天——WIn春天——WIn春天——WIn春天——WIn春天——WIn春天——WIn春天——WIn" + "</color>");
            }
            else
            {
                Facade.Instance <MusicManager>().Play("losechuntian");
                //Debug.Log("-><color=#9400D3>" + "春天——Lost春天——Lost春天——Lost春天——Lost春天——Lost春天——Lost春天——Lost春天——Lost春天——Lost春天——Lost" + "</color>");
            }
        }
Пример #21
0
        protected void OnGameInfo(DdzbaseEventArgs args)
        {
            var data = args.IsfObjData;

            if (data.ContainsKey(NewRequestKey.KeyRule))
            {
                if (RuleInfoLabel != null)
                {
                    RuleInfoLabel.text = data.GetUtfString(NewRequestKey.KeyRule);
                }
            }

            FinishAnim = false;
            AllowReady = false;

            if (HeadImage == null)
            {
                return;
            }
            var selfInfo = App.GameData.GetPlayerInfo();

            if (selfInfo == null)
            {
                return;
            }

            var ad = HeadImage.GetComponent <Common.Adapters.NguiTextureAdapter>();

            YxFramwork.Common.DataBundles.PortraitDb.SetPortrait(selfInfo.AvatarX, ad, selfInfo.SexI); //只显示自己的头像

            GetAllPlayerInfo();                                                                        //获取所有玩家信息
        }
Пример #22
0
        /// <summary>
        /// 当是上家出牌时,之前说的话要消失
        /// </summary>
        /// <param name="args"></param>
        private void OnTypeOutCard(DdzbaseEventArgs args)
        {
            var data = args.IsfObjData;
            int seat = data.GetInt(GlobalConstKey.C_Sit);
            var sex  = App.GetGameData <DdzGameData>().GetOnePlayerInfo(seat, true).SexI;

            if (sex != 0 && sex != 1)
            {
                sex = 0;
            }
            var    cards  = data.GetIntArray(RequestKey.KeyCards);
            string source = sex == 1 ? "man" : "woman";
            //string soundName = string.Format("{0}{1}_{2}", LanguageType, sex, GetAudioName(cards)); // LanguageType + sex + "_" + GetAudioName(cards);

            string soundName;

            if (data.ContainsKey("ctype"))
            {
                int cardType = data.GetInt("ctype");
                soundName = string.Format("{0}{1}_{2}", LanguageType, sex,
                                          GetAudioName(cards, (CardType)cardType));
            }
            else
            {
                soundName = string.Format("{0}{1}_{2}", LanguageType, sex, GetAudioName(cards));
            }

            PlayAudioOneShot(soundName, source);
            int cardCount = cards.Length;

            string outCardSoundName = cardCount > 3 ? "k_3morecard" : "k_outcard";

            PlayAudioOneShot(outCardSoundName);
        }
Пример #23
0
        /// <summary>
        /// 当确定地主后,看自己是不是地主,来判断是否显示按钮
        /// </summary>
        /// <param name="args"></param>
        protected override void OnFirstOut(DdzbaseEventArgs args)
        {
            base.OnFirstOut(args);   //底牌加入到手中

            var data = args.IsfObjData;

            var gdata = App.GetGameData <DdzGameData>();

            int speakerSeat = data.GetInt(RequestKey.KeySeat);  //地主座位号

            _isMyTurn = speakerSeat == gdata.SelfSeat;          //因为注册委托先后顺序的问题,不能用gdata.ImBanker判断

            if (!_isMyTurn)
            {
                HideAllBtns();
                return;
            }

            if (data.ContainsKey(NewRequestKey.JiaBeiSeat))
            {
                HideAllBtns();
            }
            else
            {
                SetBtnActive(ChuPaiBtn, true);
                SetBtnState(ChuPaiBtn, false);
            }

            _lastOutData.PutInt(RequestKey.KeySeat, speakerSeat);       //地主位置存入缓存
            HdCdctrlInstance.ReSetHandCds(HdCdsListTemp.ToArray());
        }
Пример #24
0
        private void OnGetRejoionData(object obj, DdzbaseEventArgs args)
        {
            IvtWechatFriendBtn.SetActive(false);
            var data = args.IsfObjData;

            if (data.ContainsKey(NewRequestKey.KeyRoomId))
            {
                _roomId = data.GetInt(NewRequestKey.KeyRoomId).ToString(CultureInfo.InvariantCulture);
            }

            if (data.ContainsKey(NewRequestKey.KeyMaxRound))
            {
                _maxRound = data.GetInt(NewRequestKey.KeyMaxRound).ToString(CultureInfo.InvariantCulture);
            }

            if (data.ContainsKey(NewRequestKey.KeyJiaBei))
            {
                _jiabei = data.GetInt(NewRequestKey.KeyJiaBei);
            }

            if (data.ContainsKey(NewRequestKey.KeyQt))
            {
                _curGameType = (GlobalConstKey.GameType)data.GetInt(NewRequestKey.KeyQt);
            }


            if (data.ContainsKey(NewRequestKey.KeyState) &&
                data.GetInt(NewRequestKey.KeyState) == GlobalConstKey.StatusIdle)
            {
                if (data.ContainsKey(NewRequestKey.KeyCurRound) && data.GetInt(NewRequestKey.KeyCurRound) <= 1)
                {
                    IvtWechatFriendBtn.SetActive(true);
                }
            }
        }
Пример #25
0
        public override void UserReady(int localSeat, ISFSObject responseData)
        {
            base.UserReady(localSeat, responseData);
            var eventArgs = new DdzbaseEventArgs(responseData);

            Facade.EventCenter.DispatchEvent(GlobalConstKey.KeyOnUserReady, eventArgs);
        }
Пример #26
0
 protected virtual void OnTypeOneRoundOver(DdzbaseEventArgs args)
 {
     LandMark.SetActive(false);
     SetAutoState(false);
     SetSpeakSprite(string.Empty, false);
     ReadyState = false;
 }
Пример #27
0
        private void OnRejoin(DdzbaseEventArgs args)
        {
            var data = args.IsfObjData;

            if (data.ContainsKey(RequestKey.KeyState) && data.GetInt(RequestKey.KeyState) > GlobalConstKey.StatusIdle)
            {
                OpenBoardBtn.SetActive(true);
                InitRecordItemCount();

                if (data.ContainsKey(NewRequestKey.KeyAllOutCards))
                {
                    var cards = data.GetIntArray(NewRequestKey.KeyAllOutCards);
                    RemoveCards(cards);
                }

                if (data.ContainsKey(RequestKey.KeyUser))
                {
                    var selfData = data.GetSFSObject(RequestKey.KeyUser);
                    if (selfData.ContainsKey(RequestKey.KeyCards))
                    {
                        var cards = selfData.GetIntArray(RequestKey.KeyCards);
                        RemoveCards(cards);
                    }
                }
            }
        }
Пример #28
0
        /// <summary>
        /// 出牌阶段
        /// </summary>
        /// <param name="args"></param>
        protected override void OnTypeOutCard(DdzbaseEventArgs args)
        {
            if (Info == null)
            {
                return;
            }

            var  data        = args.IsfObjData;
            var  speakerSeat = data.GetInt(RequestKey.KeySeat);
            bool isMe        = Info.Seat == speakerSeat;


            //刷新手牌个数
            if (!isMe)
            {
                if (speakerSeat == GetEarlyHandSeat())
                {
                    SetSpeakSprite(string.Empty, false);
                }
                return;
            }
            var cdsLen = data.GetIntArray(RequestKey.KeyCards).Length;

            CardCount = CardCount - cdsLen;

            //少于3张报牌数
            if (CardCount > 2)
            {
                return;
            }
            App.GetGameData <DdzGameData>().OnHdcdsChange(speakerSeat);
        }
Пример #29
0
        private void OnTypeGrabSpeaker(DdzbaseEventArgs args)
        {
            var data = args.IsfObjData;
            int seat = data.GetInt(RequestKey.KeySeat);
            int cd   = GetCountingTime(args, 10);

            ShowPointAndCuntDown(seat, cd);
        }
Пример #30
0
        protected override void SetUserInfo(object sender, DdzbaseEventArgs args)
        {
            var data = args.IsfObjData;

            UserDataTemp = GetHostUserData(data);

            RefreshUiInfo();
        }