Пример #1
0
    /// <summary>
    /// 设置数据不更新牌面
    /// </summary>
    /// <param name="value"></param>
    public void SetData(PlayerInfoVOS2C value)
    {
        _data = value;
        var selfInfoVO = battleProxy.playerIdInfoDic[playerInfoProxy.userID];

        sitOffset = (_data.sit - selfInfoVO.sit + GlobalData.SIT_NUM) % GlobalData.SIT_NUM;
    }
Пример #2
0
    /// <summary>
    /// 显示玩家操作提示
    /// </summary>
    public void ShowPlayActTip()
    {
        gameObject.GetComponent <Animator>().Stop();
        var             selfInfoVO  = battleProxy.playerIdInfoDic[playerInfoProxy.UserInfo.UserID];
        PlayerInfoVOS2C tipPlayerVO = null;

        if (battleProxy.playerActTipS2C != null)
        {
            tipPlayerVO = battleProxy.playerIdInfoDic[battleProxy.playerActTipS2C.optUserId];
        }
        if (battleProxy.playerActS2C != null)
        {
            tipPlayerVO = battleProxy.playerIdInfoDic[battleProxy.playerActS2C.userId];
        }
        if (tipPlayerVO == null)
        {
            return;
        }
        var sitIndex = (tipPlayerVO.sit - selfInfoVO.sit + GlobalData.SIT_NUM) % GlobalData.SIT_NUM;

        //arrowIcon.rectTransform.localEulerAngles = new Vector3(0, 0, 180 + sitIndex * 90);
        //arrowIcon.color = Color.white;
        //TODO 四个方向setActive(true)
        masterIcon.color = new Color(1, 1, 1, 0);
        remainTimeId     = Timer.Instance.AddTimer(1, 0, 1, UpdateTipRemain);
        //remainTimeTxt.gameObject.SetActive(true);
        UpdateTipRemain();
        //arrowEffect.SetActive(false);
    }
Пример #3
0
        /// <summary>
        /// 模拟进入房间返回
        /// </summary>
        public IEnumerator ClientJoinRoom()
        {
            playerInfoProxy.UserInfo.UserID = 9527;
            yield return(new WaitForSeconds(1));

            JoinRoomS2C joinRoomS2C = new JoinRoomS2C();

            joinRoomS2C.roomCode   = UnityEngine.Random.Range(1111, 9999).ToString();
            joinRoomS2C.curInnings = curInnings;
            joinRoomS2C.innings    = 1;
            joinRoomS2C.isStart    = false;
            joinRoomS2C.createId   = playerInfoProxy.UserInfo.UserID;
            for (int i = 0; i < GlobalData.SIT_NUM; i++)
            {
                var playerInfoVO = new PlayerInfoVOS2C();
                playerInfoVO.headIcon = "https://gss0.bdstatic.com/6LZ1dD3d1sgCo2Kml5_Y_D3/sys/portrait/item/2f98e788b7e5908de9a39ee736";
                playerInfoVO.isBanker = false;
                playerInfoVO.isMaster = false;
                playerInfoVO.userId   = 9527 + i;
                playerInfoVO.isReady  = false;
                playerInfoVO.name     = playNames[i];
                playerInfoVO.score    = UnityEngine.Random.Range(1111, 9999);
                playerInfoVO.sex      = 1;
                playerInfoVO.sit      = i + 1;
                joinRoomS2C.playInfoArr.Add(playerInfoVO);
            }
            NetMgr.Instance.OnClientReceiveBuff(MsgNoS2C.JOIN_ROOM_S2C.GetHashCode(), 0, joinRoomS2C);
            yield return(new WaitForSeconds(1));

            GameMgr.Instance.StartCoroutine(ClientReady());
        }
Пример #4
0
        /// <summary>
        /// 特殊出牌操作
        /// </summary>
        private void SpecialCardHandler()
        {
            List <ActPowerVO> actPowers        = new List <ActPowerVO>();
            List <int>        canPutCards      = new List <int>();
            PlayerInfoVOS2C   selfPlayerInfoVO = battleProxy.playerIdInfoDic[playerInfoProxy.userID];

            foreach (int card in selfPlayerInfoVO.handCards)
            {
                canPutCards.Add(card);
            }
            if (selfPlayerInfoVO.getCard > 0)
            {
                canPutCards.Add(selfPlayerInfoVO.getCard);
            }
            for (int i = 0; i < battleProxy.GetPlayerActTipS2C().acts.Count; i++)
            {
                actPowers.Add(new ActPowerVO(battleProxy.GetPlayerActTipS2C().acts[i], battleProxy.GetPlayerActTipS2C().actCards[i], 0));
            }

            foreach (ActPowerVO actPowerVO in actPowers)
            {
                bool passAddPower = false;                        //过操作是否加权
                if (battleProxy.huTypes.Contains(actPowerVO.act)) //胡牌权重最高
                {
                    actPowerVO.power += 10000;
                }
                else if (actPowerVO.act == PlayerActType.CHI)//吃牌判断
                {
                    CalculateChiPower(actPowerVO, canPutCards, out passAddPower);
                }
                else if (actPowerVO.act != PlayerActType.PASS)//碰杠牌操作
                {
                    CalculatePengGangPower(actPowerVO, canPutCards, out passAddPower);
                }
                if (passAddPower)
                {
                    foreach (ActPowerVO actPowerVO2 in actPowers)
                    {
                        if (actPowerVO2.act == PlayerActType.PASS)
                        {
                            actPowerVO2.power += 100;
                        }
                    }
                }
            }
            actPowers.Sort((ActPowerVO actPowerVO1, ActPowerVO actPowerVO2) => {
                if (actPowerVO1.power > actPowerVO2.power)
                {
                    return(-1);
                }
                else
                {
                    return(1);
                }
            });
            FirstActHandler(actPowers[0]);
        }
Пример #5
0
    /// <summary>
    /// 显示玩家操作提示
    /// </summary>
    public void ShowPlayActTip()
    {
        gameObject.GetComponent <Animator>().Stop();
        var             selfInfoVO  = battleProxy.playerIdInfoDic[playerInfoProxy.userID];
        PlayerInfoVOS2C tipPlayerVO = null;

        if (battleProxy.GetPlayerActTipS2C() == null && battleProxy.GetPlayerActS2C() == null)
        {
            return;
        }
        if (battleProxy.curGuide == GuideType.ACT_TIP)
        {
            tipPlayerVO = battleProxy.playerIdInfoDic[battleProxy.GetPlayerActTipS2C().optUserId];
            bool isPengGang = false;
            foreach (PlayerActType item in battleProxy.hidenActTypes)
            {
                if (battleProxy.GetPlayerActTipS2C().acts.Contains(item))
                {
                    isPengGang = true;
                    break;
                }
            }
            if (isPengGang && battleProxy.playerIdInfoDic.ContainsKey(battleProxy.GetPlayerActTipS2C().targetUserId))
            {
                tipPlayerVO = battleProxy.playerIdInfoDic[battleProxy.GetPlayerActTipS2C().targetUserId];
                //var nextSitId = GlobalData.GetNextSit(tipPlayerVO.sit, 1);
                //tipPlayerVO = battleProxy.playerSitInfoDic[nextSitId];
            }
        }
        else if (battleProxy.curGuide == GuideType.ACT)
        {
            tipPlayerVO = battleProxy.playerIdInfoDic[battleProxy.GetPlayerActS2C().userId];
            if (battleProxy.GetPlayerActS2C().act == PlayerActType.PASS)
            {
                return;
            }
        }
        if (tipPlayerVO == null)
        {
            return;
        }
        var sitIndex = (tipPlayerVO.sit - selfInfoVO.sit + GlobalData.SIT_NUM) % GlobalData.SIT_NUM;

        arrowContainer.localEulerAngles = new Vector3(0, 0, 180 + sitIndex * 90);
        arrowIcon.color  = Color.white;
        masterIcon.color = new Color(1, 1, 1, 0);
        remainTimeId     = Timer.Instance.AddDeltaTimer(1, 0, 1, UpdateTipRemain);
        remainTimeTxt.gameObject.SetActive(true);
        UpdateTipRemain();
    }
Пример #6
0
    /// <summary>
    /// 更新单个头像
    /// </summary>
    /// <param name="updatePlayInfoVOS2C"></param>
    private void UpdateSingleHeadItem(PlayerInfoVOS2C updatePlayInfoVOS2C)
    {
        var selfInfoVO      = battleProxy.playerIdInfoDic[playerInfoProxy.UserInfo.UserID];
        var updateHeadIndex = (updatePlayInfoVOS2C.sit - selfInfoVO.sit + GlobalData.SIT_NUM) % GlobalData.SIT_NUM;

        if (battleProxy.playerIdInfoDic.ContainsKey(updatePlayInfoVOS2C.userId))
        {
            View.headItemList[updateHeadIndex].GetComponent <HeadItem>().data = updatePlayInfoVOS2C;
        }
        else
        {
            View.headItemList[updateHeadIndex].GetComponent <HeadItem>().data = null;
        }
    }
Пример #7
0
    /// <summary>
    /// 更新单个头像
    /// </summary>
    /// <param name="updatePlayInfoVOS2C"></param>
    private void UpdateSingleHeadItem(PlayerInfoVOS2C updatePlayInfoVOS2C)
    {
        var selfInfoVO = battleProxy.playerIdInfoDic[playerInfoProxy.userID];

        userReadyId = playerInfoProxy.userID;
        var updateHeadIndex = (updatePlayInfoVOS2C.sit - selfInfoVO.sit + GlobalData.SIT_NUM) % GlobalData.SIT_NUM;

        View.headItemList[updateHeadIndex].transform.FindChild("Head").gameObject.SetActive(true);
        if (battleProxy.playerIdInfoDic.ContainsKey(updatePlayInfoVOS2C.userId))
        {
            View.headItemList[updateHeadIndex].GetComponent <HeadItem>().data = updatePlayInfoVOS2C;
        }
        else
        {
            View.headItemList[updateHeadIndex].GetComponent <HeadItem>().data = null;
        }
    }
Пример #8
0
        /// <summary>
        /// 字符串解析为战报对象
        /// </summary>
        /// <param name="reportStr"></param>
        /// <returns></returns>
        public static PlayReportS2C Paser(string reportStr)
        {
            JsonData      jsonData  = JsonMapper.ToObject(reportStr);
            PlayReportS2C reportS2C = new PlayReportS2C();

            reportS2C.startTime = long.Parse(jsonData["startTime"].ToString());
            reportS2C.joinInfo  = new JoinRoomS2C();
            var joinInfo = jsonData["joinInfo"];

            reportS2C.joinInfo.innings    = int.Parse(joinInfo["innings"].ToString());
            reportS2C.joinInfo.createId   = int.Parse(joinInfo["createId"].ToString());
            reportS2C.joinInfo.curInnings = int.Parse(joinInfo["curInnings"].ToString());
            reportS2C.joinInfo.isStart    = bool.Parse(joinInfo["isStart"].ToString());
            if (joinInfo.Inst_Object.ContainsKey("leftCardCount"))
            {
                //reportS2C.joinInfo.leftCardCount = int.Parse(joinInfo["leftCardCount"].ToString());
                reportS2C.joinInfo.leftCardCount = 93;
            }
            else
            {
                reportS2C.joinInfo.leftCardCount = GlobalData.CardWare.Length - 53;
            }
            for (int i = 0; i < joinInfo["playInfoArr"].Count; i++)
            {
                var playerInfoJson = joinInfo["playInfoArr"][i];
                var playerInfoVO   = new PlayerInfoVOS2C();
                try
                {
                    playerInfoVO.getCard = int.Parse(playerInfoJson["getCard"].ToString());
                }
                catch
                {
                }
                playerInfoVO.headIcon = playerInfoJson["headIcon"].ToString();
                playerInfoVO.isBanker = bool.Parse(playerInfoJson["isBanker"].ToString());
                playerInfoVO.isMaster = bool.Parse(playerInfoJson["isMaster"].ToString());
                playerInfoVO.isReady  = bool.Parse(playerInfoJson["isReady"].ToString());
                playerInfoVO.name     = playerInfoJson["name"].ToString();
                playerInfoVO.score    = int.Parse(playerInfoJson["score"].ToString());
                playerInfoVO.sex      = int.Parse(playerInfoJson["sex"].ToString());
                playerInfoVO.sit      = int.Parse(playerInfoJson["sit"].ToString());
                playerInfoVO.userId   = int.Parse(playerInfoJson["userId"].ToString());
                for (int j = 0; j < playerInfoJson["handCards"].Count; j++)
                {
                    playerInfoVO.handCards.Add(int.Parse(playerInfoJson["handCards"][j].ToString()));
                }
                reportS2C.joinInfo.playInfoArr.Add(playerInfoVO);
            }

            var actTip = paserActTip(joinInfo["playerTipAct"]);

            reportS2C.joinInfo.playerTipAct = actTip;
            reportS2C.joinInfo.roomCode     = joinInfo["roomCode"].ToString();
            var actionsJson = jsonData["actions"];

            long perActTime = 0;

            for (int i = 0; i < actionsJson.Count; i++)
            {
                var actionJson = actionsJson[(i + 1).ToString()];
                var actionVO   = new ActionVO();
                actionVO.isActionTip = bool.Parse(actionJson["isActionTip"].ToString());
                actionVO.actionTime  = long.Parse(actionJson["actionTime"].ToString());
                if (i == 0 && actionVO.actionTime - reportS2C.startTime > 10000)//判断第一步距离开始事件是否超过10秒
                {
                    actionVO.actionTime = reportS2C.startTime + 3000;
                }
                if (perActTime == 0)
                {
                    perActTime = actionVO.actionTime;
                }
                if (actionVO.actionTime - perActTime > 10000)
                {
                    actionVO.actionTime = perActTime + 3000;
                }
                perActTime = actionVO.actionTime;
                if (actionVO.isActionTip)
                {
                    actionVO.actTip             = paserActTip(actionJson["actTip"]);
                    actionVO.actTip.tipRemainUT = actionVO.actionTime;
                }
                else
                {
                    actionVO.act = paserAct(actionJson["act"]);
                }
                reportS2C.actions.Add(actionVO);
            }
            return(reportS2C);
        }
Пример #9
0
        /// <summary>
        /// 客户端模拟播放战报
        /// </summary>
        public void PlayReport()
        {
            playerInfoProxy.UserInfo.UserID = 100763;

            var joinInfo = new JoinRoomS2C();

            joinInfo.createId   = 100780;
            joinInfo.curInnings = 1;
            joinInfo.innings    = 8;
            joinInfo.isStart    = true;
            joinInfo.roomCode   = "319851";

            var playerInfoVO = new PlayerInfoVOS2C();

            playerInfoVO.headIcon = "http://img4.imgtn.bdimg.com/it/u=3291288803,1288273005&fm=11&gp=0.jpg";
            playerInfoVO.userId   = 100763;
            playerInfoVO.name     = "迪丽热巴";
            playerInfoVO.score    = 0;
            playerInfoVO.sex      = 1;
            playerInfoVO.sit      = 3;
            playerInfoVO.isBanker = false;
            playerInfoVO.isMaster = false;
            playerInfoVO.isReady  = true;
            int[] handCards = { 13, 15, 21, 23, 23, 25, 26, 26, 27, 29, 33, 35, 36 };
            playerInfoVO.handCards.AddRange(handCards);
            PengGangCardVO penggangVO = new PengGangCardVO();

            penggangVO.pengGangCards.Add(11);
            penggangVO.pengGangCards.Add(11);
            penggangVO.pengGangCards.Add(11);
            penggangVO.targetUserId = 100780;
            playerInfoVO.pengGangCards.Add(penggangVO);
            penggangVO = new PengGangCardVO();
            penggangVO.pengGangCards.Add(12);
            penggangVO.pengGangCards.Add(12);
            penggangVO.pengGangCards.Add(12);
            penggangVO.targetUserId = 100780;
            playerInfoVO.pengGangCards.Add(penggangVO);
            playerInfoVO.putCards.AddRange(handCards);
            playerInfoVO.putCards.AddRange(handCards);
            joinInfo.playInfoArr.Add(playerInfoVO);

            playerInfoVO          = new PlayerInfoVOS2C();
            playerInfoVO.headIcon = "http://img4.imgtn.bdimg.com/it/u=3291288803,1288273005&fm=11&gp=0.jpg";
            playerInfoVO.userId   = 100764;
            playerInfoVO.name     = "迪丽热巴";
            playerInfoVO.score    = UnityEngine.Random.Range(1111, 9999);
            playerInfoVO.sex      = 1;
            playerInfoVO.sit      = 2;
            playerInfoVO.isBanker = false;
            playerInfoVO.isMaster = false;
            playerInfoVO.isReady  = true;
            int[] handCards2 = { 12, 14, 16, 16, 17, 26, 26, 28, 29, 31, 34, 38, 39 };
            playerInfoVO.handCards.AddRange(handCards2);
            penggangVO = new PengGangCardVO();
            penggangVO.pengGangCards.Add(11);
            penggangVO.pengGangCards.Add(11);
            penggangVO.pengGangCards.Add(11);
            penggangVO.targetUserId = 100780;
            playerInfoVO.pengGangCards.Add(penggangVO);
            penggangVO = new PengGangCardVO();
            penggangVO.pengGangCards.Add(12);
            penggangVO.pengGangCards.Add(12);
            penggangVO.pengGangCards.Add(12);
            penggangVO.targetUserId = 100780;
            playerInfoVO.pengGangCards.Add(penggangVO);
            playerInfoVO.putCards.AddRange(handCards);
            playerInfoVO.putCards.AddRange(handCards);
            joinInfo.playInfoArr.Add(playerInfoVO);

            playerInfoVO          = new PlayerInfoVOS2C();
            playerInfoVO.headIcon = "http://img4.imgtn.bdimg.com/it/u=3291288803,1288273005&fm=11&gp=0.jpg";
            playerInfoVO.userId   = 100773;
            playerInfoVO.name     = "迪丽热巴";
            playerInfoVO.score    = UnityEngine.Random.Range(1111, 9999);
            playerInfoVO.sex      = 1;
            playerInfoVO.sit      = 4;
            playerInfoVO.isBanker = false;
            playerInfoVO.isMaster = false;
            playerInfoVO.isReady  = true;
            int[] handCards3 = { 11, 12, 16, 19, 22, 23, 24, 25, 33, 34, 35, 36, 39 };
            playerInfoVO.handCards.AddRange(handCards3);
            penggangVO = new PengGangCardVO();
            penggangVO.pengGangCards.Add(11);
            penggangVO.pengGangCards.Add(11);
            penggangVO.pengGangCards.Add(11);
            penggangVO.targetUserId = 100780;
            playerInfoVO.pengGangCards.Add(penggangVO);
            penggangVO = new PengGangCardVO();
            penggangVO.pengGangCards.Add(12);
            penggangVO.pengGangCards.Add(12);
            penggangVO.pengGangCards.Add(12);
            penggangVO.targetUserId = 100780;
            playerInfoVO.pengGangCards.Add(penggangVO);
            playerInfoVO.putCards.AddRange(handCards);
            playerInfoVO.putCards.AddRange(handCards);
            joinInfo.playInfoArr.Add(playerInfoVO);

            playerInfoVO          = new PlayerInfoVOS2C();
            playerInfoVO.headIcon = "http://img4.imgtn.bdimg.com/it/u=3291288803,1288273005&fm=11&gp=0.jpg";
            playerInfoVO.userId   = 100780;
            playerInfoVO.name     = "迪丽热巴";
            playerInfoVO.score    = UnityEngine.Random.Range(1111, 9999);
            playerInfoVO.sex      = 1;
            playerInfoVO.sit      = 1;
            playerInfoVO.isBanker = true;
            playerInfoVO.isMaster = true;
            playerInfoVO.isReady  = true;
            int[] handCards4 = { 11, 13, 14, 25, 27, 28, 33, 34, 36, 37, 37, 37, 38 };
            playerInfoVO.handCards.AddRange(handCards4);
            penggangVO = new PengGangCardVO();
            penggangVO.pengGangCards.Add(11);
            penggangVO.pengGangCards.Add(11);
            penggangVO.pengGangCards.Add(11);
            penggangVO.targetUserId = 100780;
            playerInfoVO.pengGangCards.Add(penggangVO);
            penggangVO = new PengGangCardVO();
            penggangVO.pengGangCards.Add(12);
            penggangVO.pengGangCards.Add(12);
            penggangVO.pengGangCards.Add(12);
            penggangVO.targetUserId = 100780;
            playerInfoVO.pengGangCards.Add(penggangVO);
            playerInfoVO.putCards.AddRange(handCards);
            playerInfoVO.putCards.AddRange(handCards);
            joinInfo.playInfoArr.Add(playerInfoVO);

            joinInfo.playerTipAct           = new PushPlayerActTipS2C();
            joinInfo.playerTipAct.optUserId = 100780;
            joinInfo.playerTipAct.acts.Add(PlayerActType.PUT_CARD);
            joinInfo.playerTipAct.actCards.Add(14);
            joinInfo.playerTipAct.tipRemainTime = 15;
            joinInfo.playerTipAct.tipRemainUT   = 1495873615422;

            NetMgr.Instance.OnClientReceiveBuff(MsgNoS2C.JOIN_ROOM_S2C.GetHashCode(), 0, joinInfo);
        }
Пример #10
0
        /// <summary>
        /// 出牌
        /// </summary>
        private void PutCardHandler()
        {
            List <CardPowerVO> cardPowerList    = new List <CardPowerVO>();
            PlayerInfoVOS2C    selfPlayerInfoVO = battleProxy.playerIdInfoDic[playerInfoProxy.userID];
            List <int>         canPutCards      = new List <int>();

            foreach (int card in selfPlayerInfoVO.handCards)
            {
                cardPowerList.Add(new CardPowerVO(card, 0));
                canPutCards.Add(card);
            }
            if (selfPlayerInfoVO.getCard > 0)
            {
                cardPowerList.Add(new CardPowerVO(selfPlayerInfoVO.getCard, 0));
                canPutCards.Add(selfPlayerInfoVO.getCard);
            }
            for (int i = 0; i < cardPowerList.Count; i++)
            {
                var        cardPowerVO = cardPowerList[i];
                List <int> listFind    = canPutCards.FindAll(delegate(int s) {
                    return(s == cardPowerVO.cardValue);
                });
                if (chiPowerArr != null && chiPowerArr[0].forbitCards.Contains(cardPowerVO.cardValue))//有禁止出的牌
                {
                    cardPowerVO.power += 10000;
                }
                if (listFind.Count > 1)//有相同牌
                {
                    cardPowerVO.power += 100;
                }
                if (canPutCards.Contains(cardPowerVO.cardValue - 1))//有头牌
                {
                    cardPowerVO.power += 10;
                }
                if (canPutCards.Contains(cardPowerVO.cardValue + 1))//有尾牌
                {
                    cardPowerVO.power += 10;
                }
                var modValue = cardPowerVO.cardValue % 10;
                if (modValue > 2 && modValue < 8)//判断是否存在间隔的牌
                {
                    if (canPutCards.Contains(cardPowerVO.cardValue - 2))
                    {
                        cardPowerVO.power += 1;
                    }
                    if (canPutCards.Contains(cardPowerVO.cardValue + 2))
                    {
                        cardPowerVO.power += 1;
                    }
                }
                //统计同类型牌数量
                List <int> sampleTypeList = canPutCards.FindAll(delegate(int s) {
                    return(s % 10 == modValue);
                });
                cardPowerVO.power += (float)sampleTypeList.Count / 100;
            }
            cardPowerList.Sort((CardPowerVO cardPower1, CardPowerVO cardPower2) => {
                if (cardPower1.power < cardPower2.power)
                {
                    return(-1);
                }
                else
                {
                    return(1);
                }
            });
            var putC2S = new PlayAMahjongC2S();

            putC2S.mahjongCode = cardPowerList[0].cardValue;
            NetMgr.Instance.SendBuff(SocketType.BATTLE, MsgNoC2S.C2S_ROOM_PLAY_A_MAHJONG.GetHashCode(), 0, putC2S);
            chiPowerArr = null;
        }
Пример #11
0
        /// <summary>
        /// 客户端模拟播放战报
        /// </summary>
        public void PlayReport()
        {
            playerInfoProxy.userID = 100763;

            var joinInfo = new JoinRoomS2C();

            joinInfo.createId   = 100780;
            joinInfo.curInnings = 1;
            joinInfo.innings    = 8;
            joinInfo.isStart    = true;
            joinInfo.roomCode   = "319851";

            var playerInfoVO = new PlayerInfoVOS2C();

            playerInfoVO.headIcon = "http://picture.youth.cn/xwjx/201705/W020170506391821287688.png";
            playerInfoVO.userId   = 100763;
            playerInfoVO.name     = "时间";
            playerInfoVO.score    = 0;
            playerInfoVO.sex      = 1;
            playerInfoVO.sit      = 3;
            playerInfoVO.isBanker = false;
            playerInfoVO.isMaster = false;
            playerInfoVO.isReady  = true;
            int[] handCards = { 13, 15, 21, 23, 23, 25, 26, 26, 27, 29, 33, 35, 36 };
            playerInfoVO.handCards.AddRange(handCards);
            PengGangCardVO penggangVO = new PengGangCardVO();

            penggangVO.pengGangCards.Add(11);
            penggangVO.pengGangCards.Add(11);
            penggangVO.pengGangCards.Add(11);
            penggangVO.targetUserId = 100780;
            playerInfoVO.pengGangCards.Add(penggangVO);
            penggangVO = new PengGangCardVO();
            penggangVO.pengGangCards.Add(12);
            penggangVO.pengGangCards.Add(12);
            penggangVO.pengGangCards.Add(12);
            penggangVO.targetUserId = 100780;
            playerInfoVO.pengGangCards.Add(penggangVO);
            joinInfo.playInfoArr.Add(playerInfoVO);

            playerInfoVO          = new PlayerInfoVOS2C();
            playerInfoVO.headIcon = "http://picture.youth.cn/xwjx/201705/W020170506391821287688.png";
            playerInfoVO.userId   = 100764;
            playerInfoVO.name     = "电话";
            playerInfoVO.score    = UnityEngine.Random.Range(1111, 9999);
            playerInfoVO.sex      = 1;
            playerInfoVO.sit      = 2;
            playerInfoVO.isBanker = false;
            playerInfoVO.isMaster = false;
            playerInfoVO.isReady  = true;
            int[] handCards2 = { 12, 14, 16, 16, 17, 26, 26, 28, 29, 31, 34, 38, 39 };
            playerInfoVO.handCards.AddRange(handCards2);
            penggangVO = new PengGangCardVO();
            penggangVO.pengGangCards.Add(11);
            penggangVO.pengGangCards.Add(11);
            penggangVO.pengGangCards.Add(11);
            penggangVO.targetUserId = 100780;
            playerInfoVO.pengGangCards.Add(penggangVO);
            penggangVO = new PengGangCardVO();
            penggangVO.pengGangCards.Add(12);
            penggangVO.pengGangCards.Add(12);
            penggangVO.pengGangCards.Add(12);
            penggangVO.targetUserId = 100780;
            playerInfoVO.pengGangCards.Add(penggangVO);
            joinInfo.playInfoArr.Add(playerInfoVO);

            playerInfoVO          = new PlayerInfoVOS2C();
            playerInfoVO.headIcon = "http://picture.youth.cn/xwjx/201705/W020170506391821287688.png";
            playerInfoVO.userId   = 100773;
            playerInfoVO.name     = "多少";
            playerInfoVO.score    = UnityEngine.Random.Range(1111, 9999);
            playerInfoVO.sex      = 1;
            playerInfoVO.sit      = 4;
            playerInfoVO.isBanker = false;
            playerInfoVO.isMaster = false;
            playerInfoVO.isReady  = true;
            int[] handCards3 = { 11, 12, 16, 19, 22, 23, 24, 25, 33, 34, 35, 36, 39 };
            playerInfoVO.handCards.AddRange(handCards3);
            penggangVO = new PengGangCardVO();
            penggangVO.pengGangCards.Add(11);
            penggangVO.pengGangCards.Add(11);
            penggangVO.pengGangCards.Add(11);
            penggangVO.targetUserId = 100780;
            playerInfoVO.pengGangCards.Add(penggangVO);
            penggangVO = new PengGangCardVO();
            penggangVO.pengGangCards.Add(12);
            penggangVO.pengGangCards.Add(12);
            penggangVO.pengGangCards.Add(12);
            penggangVO.targetUserId = 100780;
            playerInfoVO.pengGangCards.Add(penggangVO);
            joinInfo.playInfoArr.Add(playerInfoVO);

            playerInfoVO          = new PlayerInfoVOS2C();
            playerInfoVO.headIcon = "http://picture.youth.cn/xwjx/201705/W020170506391821287688.png";
            playerInfoVO.userId   = 100780;
            playerInfoVO.name     = "学姐2";
            playerInfoVO.score    = UnityEngine.Random.Range(1111, 9999);
            playerInfoVO.sex      = 1;
            playerInfoVO.sit      = 1;
            playerInfoVO.isBanker = true;
            playerInfoVO.isMaster = true;
            playerInfoVO.isReady  = true;
            int[] handCards4 = { 11, 13, 14, 25, 27, 28, 33, 34, 36, 37, 37, 37, 38 };
            playerInfoVO.handCards.AddRange(handCards4);
            penggangVO = new PengGangCardVO();
            penggangVO.pengGangCards.Add(11);
            penggangVO.pengGangCards.Add(11);
            penggangVO.pengGangCards.Add(11);
            penggangVO.targetUserId = 100780;
            playerInfoVO.pengGangCards.Add(penggangVO);
            penggangVO = new PengGangCardVO();
            penggangVO.pengGangCards.Add(12);
            penggangVO.pengGangCards.Add(12);
            penggangVO.pengGangCards.Add(12);
            penggangVO.targetUserId = 100780;
            playerInfoVO.pengGangCards.Add(penggangVO);
            joinInfo.playInfoArr.Add(playerInfoVO);

            joinInfo.playerTipAct           = new PushPlayerActTipS2C();
            joinInfo.playerTipAct.optUserId = 100780;
            joinInfo.playerTipAct.acts.Add(PlayerActType.PUT_CARD);
            joinInfo.playerTipAct.actCards.Add(14);
            joinInfo.playerTipAct.tipRemainTime = 15;
            joinInfo.playerTipAct.tipRemainUT   = 1495873615422;

            NetMgr.Instance.OnClientReceiveBuff(MsgNoS2C.S2C_ROOM_JOIN_ROOM.GetHashCode(), 0, joinInfo);
        }