//摸牌 public void MoPai(SocketModel socketModel) { //GameEvent.DoMsgTipEvent(" 收到摸牌数据"); List <string> msgList = socketModel.GetMessage(); //如果是自己摸牌 Debug.Log("摸牌的位置=" + int.Parse(msgList[0])); if (int.Parse(msgList[0]) == GameInfo.Instance.positon) { Debug.Log("是自己摸牌 摸的牌= " + int.Parse(msgList[1])); //GameEvent.DoMsgTipEvent("是自己摸牌 摸的牌= " + int.Parse(msgList[1])); //摸起的牌放到手牌队列里 int mj = int.Parse(msgList[1]); GameInfo.Instance.putMjtoHandList(mj); //广播给UI显示 GameEvent.DoMoPai(mj); Debug.Log("摸牌==" + mj); //是否能,杠,糊 List <int> list = socketModel.GetData(); RoomEvent.DoActionList(list); //如果Action有数据,可以杠 if (socketModel.GetAdata() != null && socketModel.GetAdata().Count > 0) { Debug.Log("可以杠牌=" + socketModel.GetAdata().Count); GameInfo.Instance.gangList = socketModel.GetAdata();//杠的数据保存在INFO, 选择牌型后清空 } } //不管是谁摸,更新牌的数量 Debug.Log("剩余牌的数量=" + socketModel.GetCommand()); int mjNum = socketModel.GetCommand(); RoomEvent.DoActionLeftMj(mjNum); }
//开局 public void RoomGameStart(SocketModel socketModel) { // GameInfo.Instance.isGameStart = 1; int value = socketModel.GetCommand(); if (value > 0) { //手牌 List <int> list = socketModel.GetData(); list.Reverse(); GameInfo.Instance.myHandMj = list; //房间信息 List <string> msg = socketModel.GetMessage(); GameInfo.Instance.zhuangjia = int.Parse(msg[0]); GameInfo.Instance.round = int.Parse(msg[1]); GameInfo.Instance.mjLeft = int.Parse(msg[2]); //开始后,设置所有人状态为未准备 GameInfo.Instance.isMyReady = 0; GameInfo.Instance.isRightReady = 0; GameInfo.Instance.isTopReady = 0; GameInfo.Instance.isLeftReady = 0; //通知UI游戏开始了 GameEvent.DoGameStartEvent(1); Debug.Log("人满开局发牌 " + list); } int mjNum = socketModel.GetCommand(); RoomEvent.DoActionLeftMj(mjNum); }