// 托管:出牌
    public static void trusteeshipLogic_OutPoker(GameBase gameBase, RoomData room, PlayerData playerData)
    {
        try
        {
            // 轮到自己出牌
            {
                if (playerData.getPokerList().Count > 0)
                {
                    JObject backData = new JObject();

                    backData.Add("tag", room.m_tag);
                    backData.Add("uid", playerData.m_uid);
                    backData.Add("playAction", (int)TLJCommon.Consts.PlayAction.PlayAction_PlayerOutPoker);

                    // 自己出的牌
                    {
                        // 任意出
                        if (playerData.m_uid.CompareTo(room.m_curRoundFirstPlayer.m_uid) == 0)
                        {
                            List <TLJCommon.PokerInfo> listPoker = PlayRuleUtil.GetPokerWhenFirst(playerData.getPokerList(), room.m_levelPokerNum, room.m_masterPokerType);

                            {
                                string str = "托管出牌--任意出:roomID = " + room.getRoomId() + "  uid = " + playerData.m_uid + "    ";
                                for (int i = 0; i < listPoker.Count; i++)
                                {
                                    int num       = listPoker[i].m_num;
                                    int pokerType = (int)listPoker[i].m_pokerType;

                                    str += ("num=" + num + "  type = " + pokerType + ",");
                                }

                                str += "。";

                                LogUtil.getInstance().writeRoomLog(room, m_logFlag + "----" + str);
                            }

                            JArray jarray = new JArray();
                            for (int i = 0; i < listPoker.Count; i++)
                            {
                                int num       = listPoker[i].m_num;
                                int pokerType = (int)listPoker[i].m_pokerType;

                                {
                                    JObject temp = new JObject();
                                    temp.Add("num", num);
                                    temp.Add("pokerType", pokerType);
                                    jarray.Add(temp);
                                }
                            }
                            backData.Add("pokerList", jarray);
                        }
                        // 跟牌
                        else
                        {
                            List <TLJCommon.PokerInfo> listPoker = PlayRuleUtil.GetPokerWhenTuoGuan(room.m_curRoundFirstPlayer.m_curOutPokerList, playerData.getPokerList(), room.m_levelPokerNum, room.m_masterPokerType);

                            {
                                string str = "托管出牌--跟牌:roomID = " + room.getRoomId() + "  uid = " + playerData.m_uid + "    ";
                                for (int i = 0; i < listPoker.Count; i++)
                                {
                                    int num       = listPoker[i].m_num;
                                    int pokerType = (int)listPoker[i].m_pokerType;

                                    str += ("num=" + num + "  type = " + pokerType + ",");
                                }

                                str += "。";

                                LogUtil.getInstance().writeRoomLog(room, m_logFlag + "----" + str);
                            }

                            JArray jarray = new JArray();
                            for (int i = 0; i < listPoker.Count; i++)
                            {
                                int num       = listPoker[i].m_num;
                                int pokerType = (int)listPoker[i].m_pokerType;

                                {
                                    JObject temp = new JObject();
                                    temp.Add("num", num);
                                    temp.Add("pokerType", pokerType);
                                    jarray.Add(temp);
                                }
                            }
                            backData.Add("pokerList", jarray);
                        }
                    }

                    //LogUtil.getInstance().addDebugLog(m_logFlag + "----" + "托管出牌:" + playerData.m_uid + "  " + backData.ToString());
                    GameLogic.doTask_ReceivePlayerOutPoker(gameBase, playerData.m_connId, backData.ToString());
                }
            }
        }
        catch (Exception ex)
        {
            TLJ_PlayService.PlayService.log.Error(m_logFlag + "----" + ":trusteeshipLogic异常1:" + ex);
        }
    }