/// <summary>
        /// 显示吃碰杠胡
        /// </summary>
        /// <param name="pbGroup"></param>
        public void ShowOperate(List <PokerCombinationEntity> pbGroup)
        {
            if (pbGroup == null)
            {
                throw new Exception("服务器询问吃碰杠的列表是空的");
            }

            RoomMaJiangProxy.Instance.AskPokerGroup = pbGroup;

            bool                 canHu        = false;
            bool                 isZiMo       = false;
            List <Poker>         lstPeng      = null;
            List <List <Poker> > lstGangs     = null;
            List <List <Poker> > lstChi       = null;
            List <List <Poker> > lstZhiDui    = null;
            List <List <Poker> > lstChiTing   = null;
            List <Poker>         lstPengTing  = null;
            List <List <Poker> > lstLiangXi   = null;
            bool                 isMustZhiDui = false;
            bool                 canDingZhang = false;
            bool                 canDingJiang = false;
            List <List <Poker> > lstKou       = null;
            List <Poker>         lstBuXi      = null;
            bool                 canPiaoTing  = false;
            bool                 isPao        = false;
            bool                 isJiao       = false;
            bool                 isMingTi     = false;

            for (int i = 0; i < pbGroup.Count; ++i)
            {
                OperatorType type = pbGroup[i].CombinationType;
                Debug.Log("客户端可以" + type);
                Poker poker = null;
                if (pbGroup[i].PokerList.Count > 0)
                {
                    poker = pbGroup[i].PokerList[0];
                    Debug.Log(poker.ToString("{0}_{1}_{2}"));
                }
                switch (type)
                {
                case OperatorType.Peng:
                    lstPeng = RoomMaJiangProxy.Instance.GetPeng(poker);
                    if (lstPeng == null || lstPeng.Count == 0)
                    {
                        AppDebug.ThrowError("没检测出来可以碰");
                    }
                    break;

                case OperatorType.Gang:
                    if (poker == null)
                    {
                        lstGangs = RoomMaJiangProxy.Instance.GetAnGang();

                        List <Poker> lstBuGangs = RoomMaJiangProxy.Instance.GetBuGang();
                        for (int j = 0; j < lstBuGangs.Count; ++j)
                        {
                            lstGangs.Add(new List <Poker> {
                                lstBuGangs[j]
                            });
                        }
                    }
                    else
                    {
                        lstGangs = RoomMaJiangProxy.Instance.GetMingGang(poker);
                    }
                    if (lstGangs == null || lstGangs.Count == 0)
                    {
                        AppDebug.ThrowError("没检测出来可以杠,服务器发送的poker是" + (poker == null ? "空的" : poker.ToString()));
                    }
                    break;

                case OperatorType.Chi:
                    lstChi = RoomMaJiangProxy.Instance.GetChi(poker);
                    if (lstChi == null || lstChi.Count == 0)
                    {
                        AppDebug.ThrowError("没检测出来可以吃");
                    }
                    break;

                case OperatorType.Hu:
                    canHu  = true;
                    isZiMo = pbGroup[i].SubTypeId == 2;
                    break;

                case OperatorType.ZhiDui:
                    lstZhiDui = RoomMaJiangProxy.Instance.GetZhiDui(out isMustZhiDui);
                    break;

                case OperatorType.ChiTing:
                    lstChiTing = RoomMaJiangProxy.Instance.GetChiTing(poker);
                    if (lstChiTing == null || lstChiTing.Count == 0)
                    {
                        AppDebug.ThrowError("没检测出来可以吃听");
                    }
                    break;

                case OperatorType.PengTing:
                    lstPengTing = RoomMaJiangProxy.Instance.GetPengTing(poker);
                    if (lstPengTing == null || lstPengTing.Count == 0)
                    {
                        AppDebug.ThrowError("没检测出来可以碰听");
                    }
                    break;

                case OperatorType.LiangXi:
                    lstLiangXi = RoomMaJiangProxy.Instance.GetLiangXi();
                    if (lstLiangXi == null || lstLiangXi.Count == 0)
                    {
                        AppDebug.ThrowError("没检测出来可以亮喜");
                    }
                    break;

                case OperatorType.DingZhang:
                    canDingZhang = true;
                    break;

                case OperatorType.FengGang:
                    List <Poker> lstFengGang = RoomMaJiangProxy.Instance.GetFengGang();
                    if (lstFengGang != null)
                    {
                        if (lstGangs == null)
                        {
                            lstGangs = new List <List <Poker> >();
                        }
                        lstGangs.Add(lstFengGang);
                    }
                    break;

                case OperatorType.DingJiang:
                    Poker dingjiang = RoomMaJiangProxy.Instance.GetDingJiang(poker);
                    if (dingjiang != null)
                    {
                        canDingJiang = true;
                    }
                    break;

                case OperatorType.Kou:
                    lstKou = RoomMaJiangProxy.Instance.GetKou();
                    break;

                case OperatorType.BuXi:
                    lstBuXi = RoomMaJiangProxy.Instance.GetBuXi();
                    if (lstBuXi == null || lstBuXi.Count == 0)
                    {
                        AppDebug.ThrowError("没检测出来可以补喜");
                    }
                    break;

                case OperatorType.PiaoTing:
                    canPiaoTing = true;
                    break;

                case OperatorType.Pao:
                    isPao = true;
                    break;

                case OperatorType.Jiao:
                    isJiao = true;
                    break;

                case OperatorType.MingTi:
                    isMingTi = true;
                    break;
                }
            }

            if (UIViewManager.Instance.CurrentUIScene is UISceneMaJiangView)
            {
                if (lstZhiDui != null)
                {
                    UIItemOperator.Instance.ShowZhiDui(lstZhiDui, !isMustZhiDui);
                }
                else
                {
                    UIItemOperator.Instance.Show(lstChi, lstPeng, lstGangs, canHu, isZiMo, lstChiTing,
                                                 lstPengTing, lstLiangXi, canDingZhang, canDingJiang, lstKou, lstBuXi,
                                                 canPiaoTing, isPao, isJiao, isMingTi);
                }
            }
        }