Exemple #1
0
        /// <summary>
        /// json格式转为PushPlayerActTipS2C
        /// </summary>
        /// <param name="actTipJson"></param>
        /// <returns></returns>
        private static PushPlayerActTipS2C paserActTip(JsonData actTipJson)
        {
            if (actTipJson == null)
            {
                return(null);
            }
            var actTip = new PushPlayerActTipS2C();

            try
            {
                for (int i = 0; i < actTipJson["actCards"].Count; i++)
                {
                    actTip.actCards.Add(int.Parse(actTipJson["actCards"][i].ToString()));
                }
                for (int i = 0; i < actTipJson["acts"].Count; i++)
                {
                    actTip.acts.Add((PlayerActType)int.Parse(actTipJson["acts"][i].ToString()));
                }
                actTip.optUserId     = int.Parse(actTipJson["optUserId"].ToString());
                actTip.tipRemainTime = int.Parse(actTipJson["tipRemainTime"].ToString());
                actTip.tipRemainUT   = long.Parse(actTipJson["tipRemainUT"].ToString());
                return(actTip);
            }
            catch (Exception)
            {
                return(null);
            }
        }
Exemple #2
0
        /// <summary>
        /// 模拟操作提示推送
        /// </summary>
        private IEnumerator ClientPlayerTip()
        {
            var playerInfoVO = battleProxy.playerSitInfoDic[curSit];
            var playerTipS2C = new PushPlayerActTipS2C();

            playerTipS2C.optUserId = playerInfoVO.userId;
            playerTipS2C.acts.Add(PlayerActType.PUT_CARD);
            playerTipS2C.actCards.Add(playerInfoVO.getCard);
            if (playerInfoVO.userId == playerInfoProxy.UserInfo.UserID && Method.IsCanHU(playerInfoVO.handCards, playerInfoVO.getCard))
            {
                playerTipS2C.acts.Add(PlayerActType.SELF_HU);
                playerTipS2C.acts.Add(PlayerActType.PASS);
                playerTipS2C.actCards.Add(playerInfoVO.getCard);
                playerTipS2C.actCards.Add(playerInfoVO.getCard);
            }
            playerTipS2C.tipRemainTime = 15;
            NetMgr.Instance.OnClientReceiveBuff(MsgNoS2C.PUSH_PLAYER_ACTTIP.GetHashCode(), 0, playerTipS2C);
            if (playerInfoVO.userId != playerInfoProxy.UserInfo.UserID)//非自己的提示自动操作
            {
                yield return(new WaitForSeconds(3));

                StartCoroutine(ClientPlayAct(playerInfoVO.getCard, playerInfoVO.userId, PlayerActType.PUT_CARD));
            }
            else
            {
                yield return(new WaitForSeconds(3));

                StartCoroutine(ClientPlayAct(playerInfoVO.getCard, playerInfoVO.userId, PlayerActType.PUT_CARD));
            }
        }
Exemple #3
0
        /// <summary>
        /// 本地模拟准备和发牌
        /// </summary>
        private IEnumerator ClientReady()
        {
            for (int i = 0; i < GlobalData.SIT_NUM; i++)
            {
                PushReadyS2C pushReadyS2C = new PushReadyS2C();
                pushReadyS2C.userId = 9527 + i;
                NetMgr.Instance.OnClientReceiveBuff(MsgNoS2C.PUSH_READY.GetHashCode(), 0, pushReadyS2C);
                yield return(new WaitForSeconds(1));
            }
            //推送发牌
            var pushSendCardS2C = new GameStart_S2C();

            pushSendCardS2C.leftCardCount    = GlobalData.CardWare.Length - GlobalData.SENDCARD_NUM;
            pushSendCardS2C.bankerUserId     = 9527;
            pushSendCardS2C.touchMahjongCode = 51;
            pushSendCardS2C.currentTimes     = battleProxy.curInnings;
            pushSendCardS2C.handCards.AddRange(defaultCardIndex);

            var pushActTip = new PushPlayerActTipS2C();

            pushActTip.actCards.Add(51);
            pushActTip.acts.Add(PlayerActType.PUT_CARD);
            pushActTip.optUserId                = 9527;
            pushActTip.tipRemainTime            = 15;
            pushActTip.tipRemainUT              = gameMgrProxy.systemTime;
            pushSendCardS2C.pushPlayerActTipS2C = pushActTip;
            NetMgr.Instance.OnClientReceiveBuff(MsgNoS2C.GAME_START_S2C.GetHashCode(), 0, pushSendCardS2C);
        }
Exemple #4
0
        /// <summary>
        /// 本地模拟准备和发牌
        /// </summary>
        private IEnumerator ClientReady()
        {
            for (int i = 0; i < GlobalData.SIT_NUM; i++)
            {
                PushReadyS2C pushReadyS2C = new PushReadyS2C();
                pushReadyS2C.userId = 9527 + i;
                NetMgr.Instance.OnClientReceiveBuff(MsgNoS2C.S2C_ROOM_READY_BROADCAST.GetHashCode(), 0, pushReadyS2C);
                //Debug.Log("pushReadyS2C.userId = " + pushReadyS2C.userId);
                yield return(new WaitForSeconds(0.5f));
            }

            var pushSendCardS2C = new GameStart_S2C();

            pushSendCardS2C.leftCardCount    = GlobalData.CardWare.Length - GlobalData.SENDCARD_NUM;
            pushSendCardS2C.bankerUserId     = 9527;
            pushSendCardS2C.touchMahjongCode = GlobalData.Test127Queue.Dequeue();
            pushSendCardS2C.currentTimes     = battleProxy.curInnings;
            for (int j = 0; j < 13; j++)
            {
                pushSendCardS2C.handCards.Add(GlobalData.Test127Queue.Dequeue());
            }
            //for (int i = 0; i < GlobalData.SIT_NUM; i++)
            //{
            //    //推送发牌
            //    var pushSendCardS2C = new GameStart_S2C();
            //    pushSendCardS2C.leftCardCount = GlobalData.CardWare.Length - GlobalData.SENDCARD_NUM;
            //    pushSendCardS2C.bankerUserId = 9527;
            //    pushSendCardS2C.touchMahjongCode = GlobalData.Test127Queue.Dequeue();
            //    pushSendCardS2C.currentTimes = battleProxy.curInnings;
            //    for (int j = 0; j < 13; j++)
            //    {
            //        pushSendCardS2C.handCards.Add(GlobalData.Test127Queue.Dequeue());
            //    }
            //    NetMgr.Instance.OnClientReceiveBuff(MsgNoS2C.S2C_ROOM_GAME_START_BROADCAST.GetHashCode(), 0, pushSendCardS2C);
            //}

            var pushActTip = new PushPlayerActTipS2C();

            pushActTip.actCards.Add(GlobalData.Test127Queue.Dequeue());
            pushActTip.acts.Add(PlayerActType.PUT_CARD);
            pushActTip.optUserId     = 9527;
            pushActTip.tipRemainTime = 15;
            pushActTip.tipRemainUT   = gameMgrProxy.systemTime;
            //var pushSendCardS2C1 = new GameStart_S2C();
            pushSendCardS2C.bankerUserId        = 9527;
            pushSendCardS2C.pushPlayerActTipS2C = pushActTip;
            NetMgr.Instance.OnClientReceiveBuff(MsgNoS2C.S2C_ROOM_GAME_START_BROADCAST.GetHashCode(), 0, pushSendCardS2C);
        }
Exemple #5
0
        /// <summary>
        /// 模拟操作提示推送
        /// </summary>
        private IEnumerator ClientPlayerTip()
        {
            var playerInfoVO = battleProxy.playerSitInfoDic[curSit];
            var playerTipS2C = new PushPlayerActTipS2C();

            playerTipS2C.optUserId = playerInfoVO.userId;
            playerTipS2C.acts.Add(PlayerActType.PUT_CARD);   //
            playerTipS2C.actCards.Add(playerInfoVO.getCard); //


            playerTipS2C.tipRemainTime = 15;
            playerTipS2C.tipRemainUT   = gameMgrProxy.systemTime;
            NetMgr.Instance.OnClientReceiveBuff(MsgNoS2C.S2C_ROOM_PLAYER_ACT_TIP_BROADCAST.GetHashCode(), 0, playerTipS2C);
            //if (playerInfoVO.userId != playerInfoProxy.UserID)//非自己的提示自动操作
            //{
            yield return(new WaitForSeconds(0.5f));

            StartCoroutine(ClientPlayAct(playerInfoVO.getCard, playerInfoVO.userId, PlayerActType.PUT_CARD));
            //}

            //StartCoroutine(ClientPlayAct(playerInfoVO.getCard, playerInfoVO.userId, PlayerActType.CHI));
        }