/// <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; }
/// <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); }
/// <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()); }
/// <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]); }
/// <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(); }
/// <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; } }
/// <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; } }
/// <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); }
/// <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); }
/// <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; }
/// <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); }