Ejemplo n.º 1
0
    //摸牌
    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);
    }
Ejemplo n.º 2
0
    //开局
    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);
    }