/// <summary>
    /// 加载某个新进入玩家信息
    /// </summary>
    public void LoadPlayerPrefab(LandkirdsHandCardModel hand, int posIndex)
    {
        LandlordsBasePlayer player = playerViews[posIndex];

        player.gameObject.SetActive(true);
        player.Init(hand, OnClickHeadIcon);
    }
Esempio n. 2
0
    /// <summary>
    /// 玩家托管
    /// </summary>
    /// <param name="cType"></param>
    public void PlayerTuoGuan(string uid, bool isTuoguan)
    {
        if (uid == UserInfoModel.userInfo.userId.ToString())
        {
            LandlordsPage.Instance.componentView.OpenTuoGuanView(isTuoguan);
            if (OrderController.Instance.CurInterationType == InterationType.PopCard)
            {
                Interaction.Instance.HideAllBtn();
            }
        }

        LandkirdsHandCardModel cards = LandlordsModel.Instance.GetHandCardMode(uid);

        cards.isTuoguan = isTuoguan;
        if (!isTuoguan &&
            uid == UserInfoModel.userInfo.userId.ToString() &&
            OrderController.Instance.TypeUid == UserInfoModel.userInfo.userId.ToString() && LandlordsModel.Instance.CurWinerIds != null && LandlordsModel.Instance.CurWinerIds.Count == 0)//并且游戏没有结束
        {
            OrderController.Instance.Turn(UserInfoModel.userInfo.userId.ToString(), (int)OrderController.Instance.CurInterationType);
        }

        LandlordsBasePlayer playCard = LandlordsPage.Instance.playView.GetPlayer(uid);

        if (LandlordsModel.Instance.RoomModel.CurRoomInfo.IsMatch)
        {
            playCard.MatchChangeState(false);
        }
        else
        {
            playCard.NoMatchChangeState(false);
        }
    }
Esempio n. 3
0
    /// <summary>
    /// 玩家准备
    /// </summary>
    /// <param name="cType"></param>
    public void PlayerZhunbei(string uid, bool isZhunbei)
    {
        LandkirdsHandCardModel cards = LandlordsModel.Instance.GetHandCardMode(uid);

        cards.IsZhunbei = isZhunbei;
        playView.PlayerZhunbei(uid, isZhunbei);
    }
Esempio n. 4
0
    /// <summary>
    /// 有玩家退出
    /// </summary>
    public static void G2C_LeaveRoomResp(string uid, int reson)
    {
        if (LandlordsModel.Instance.RoomPlayerHands == null)
        {
            return;
        }
        LandkirdsHandCardModel player = LandlordsModel.Instance.RoomPlayerHands.Find(p => p != null && p.playerInfo.uid == uid);

        LandlordsPage.Instance.PlayerExit(uid, reson == 1);
        if (player != null)
        {
            int index = LandlordsModel.Instance.RoomPlayerHands.IndexOf(player);
            LandlordsModel.Instance.RoomPlayerHands[index] = null;
        }
        if (uid == UserInfoModel.userInfo.userId.ToString() || uid == "-1")
        {
            if (reson == 1)
            {
                TipManager.Instance.OpenTip(TipType.SimpleTip, "您被踢出房间");
            }
            else if (reson == 2)
            {
                TipManager.Instance.OpenTip(TipType.SimpleTip, "房间解散");
            }
            else if (reson == 3)
            {
                TipManager.Instance.OpenTip(TipType.SimpleTip, "您的货币不足");
            }
            PageManager.Instance.OpenPage <MainPage>();
        }
    }
Esempio n. 5
0
    /// <summary>
    /// 激活叫分按钮
    /// </summary>
    void ActiviteCallFenButton()
    {
        onefenBtn.gameObject.SetActive(true);
        twofenBtn.gameObject.SetActive(true);
        threefenBtn.gameObject.SetActive(true);
        noCallBtn.gameObject.SetActive(true);

        //检测是否有炸弹和王炸
        List <Card>            cards = new List <Card>();
        LandkirdsHandCardModel my    = LandlordsModel.Instance.MyInfo;

        for (int i = 0; i < my.CardsCount; i++)
        {
            cards.Add(my[i]);
        }
        cards = CardRules.FindBoom(cards, 0, true);
        if (cards == null || cards.Count == 0)
        {
            //设置分值按钮置灰
            List <int> list = LandlordsModel.Instance.GetCanCallLandlordNum();
            onefenBtn.interactable   = list.Contains(1);
            twofenBtn.interactable   = list.Contains(2);
            threefenBtn.interactable = list.Contains(3);
        }
        else
        {
            //只能叫3分或者不叫
            onefenBtn.interactable   = false;
            twofenBtn.interactable   = false;
            threefenBtn.interactable = true;
            noCallBtn.interactable   = true;
        }
    }
Esempio n. 6
0
    /// <summary>
    /// 获取所有手牌
    /// </summary>
    /// <returns></returns>
    static List <Card> GetAllCards(string uid, List <Card> exclude = null)
    {
        List <Card>            cards    = new List <Card>();
        LandkirdsHandCardModel allCards = LandlordsModel.Instance.GetHandCardMode(uid);

        bool isContinue = false;

        for (int i = 0; i < allCards.CardsCount; i++)
        {
            isContinue = false;
            if (exclude != null)
            {
                for (int j = 0; j < exclude.Count; j++)
                {
                    if (allCards[i] == exclude[j])
                    {
                        isContinue = true;
                        break;
                    }
                }
            }
            if (!isContinue)
            {
                cards.Add(allCards[i]);
            }
        }
        //从小到大排序
        CardRules.SortCards(cards, true);
        return(cards);
    }
 /// <summary>
 /// 恢复到没人状态
 /// </summary>
 public virtual void RestToNoPlayer(bool isKick)
 {
     ClearDesk();
     ClearDesText();
     ClearResultLb();
     _handCard = null;
     zhunbeiObj.SetActive(false);
     userObj.SetActive(false);
     dapaiObj.SetActive(false);
 }
 void OnClickHeadIcon(LandkirdsHandCardModel player)
 {
     if (LandlordsModel.Instance.RoomModel.CurRoomInfo.IsMatch)
     {
         if (player.playerInfo.uid != UserInfoModel.userInfo.userId.ToString())
         {
             return;
         }
     }
     NodeManager.OpenNode <GameRoleInfoNode>().Inits(int.Parse(player.playerInfo.uid));
 }
Esempio n. 9
0
    /// <summary>
    /// 玩家叫分
    /// </summary>
    /// <param name="score"></param>
    public void CallLandlord(string uid, int score)
    {
        LandkirdsHandCardModel cards = LandlordsModel.Instance.GetHandCardMode(uid);

        cards.Multiples = score;
        cards.CallScore = score;
        LandlordsModel.Instance.CallLandlordsList.Add(cards);
        LandlordsBasePlayer playCard = LandlordsPage.Instance.playView.GetPlayer(uid);

        playCard.CallLandlord(score);
    }
Esempio n. 10
0
    /// <summary>
    /// 玩家抢地主
    /// </summary>
    /// <param name="cType"></param>
    public void QiangDizhu(string uid, bool isQiang)
    {
        if (isQiang)
        {
            Multiples *= 2;
        }
        LandkirdsHandCardModel cards    = LandlordsModel.Instance.GetHandCardMode(uid);
        LandlordsBasePlayer    playCard = LandlordsPage.Instance.playView.GetPlayer(uid);

        playCard.Qiangdizhu(isQiang);
    }
Esempio n. 11
0
    /// <summary>
    /// 玩家叫地主
    /// </summary>
    /// <param name="cType"></param>
    public void JiaoDizhu(string uid, bool isJiao)
    {
        if (isJiao)
        {
            Multiples *= 3;
        }
        LandkirdsHandCardModel cards    = LandlordsModel.Instance.GetHandCardMode(uid);
        LandlordsBasePlayer    playCard = LandlordsPage.Instance.playView.GetPlayer(uid);

        playCard.Jiaodizhu(isJiao);
    }
Esempio n. 12
0
    /// <summary>
    /// 更新身份
    /// </summary>
    /// <param name="type"></param>
    /// <param name="identity"></param>
    void UpdateIndentity(string uid, Identity identity)
    {
        LandkirdsHandCardModel cards = LandlordsModel.Instance.GetHandCardMode(uid);

        //改变属性
        cards.AccessIdentity = identity;
        //更改显示
        LandlordsBasePlayer playCard = LandlordsPage.Instance.playView.GetPlayer(uid);

        playCard.ChangeIdentity(false);
    }
Esempio n. 13
0
    /// <summary>
    /// 得到某个玩家手牌数据层
    /// </summary>
    /// <param name="uid">玩家id</param>
    /// <returns></returns>
    public LandkirdsHandCardModel GetHandCardMode(string uid)
    {
        LandkirdsHandCardModel handCard = null;

        if (handCardMode != null)
        {
            handCard = handCardMode.Find(p => p != null && p.playerInfo.uid == uid);
        }
        //else
        //  Debug.LogWarning("查询玩家失败,玩家id:" + uid + "  当前元素个数:" + handCardMode.Count);
        return(handCard);
    }
Esempio n. 14
0
 /// <summary>
 /// 房间玩家排序
 /// </summary>
 public void RoomPlayerSort()
 {
     if (handCardMode != null && handCardMode.Count > 1)
     {
         LandkirdsHandCardModel mainRole = handCardMode.Find(p => p != null && p.playerInfo.uid == UserInfoModel.userInfo.userId.ToString());
         int mainRoleIndex = handCardMode.IndexOf(mainRole);
         int nextIndex     = mainRoleIndex == handCardMode.Count - 1 ? 0 : mainRoleIndex + 1;
         LandkirdsHandCardModel nextRole = handCardMode[nextIndex];
         handCardMode.Remove(mainRole);
         handCardMode.Remove(nextRole);
         handCardMode.Insert(0, mainRole);
         handCardMode.Insert(1, nextRole);
     }
 }
Esempio n. 15
0
    public static AudioManager.AudioSoundType PlayPlayerPopSound(string uid, CardsType cardsType, Weight weight = Weight.Three)
    {
        LandkirdsHandCardModel playerHand = LandlordsModel.Instance.GetHandCardMode(uid);

        if (playerHand != null)
        {
            string soundStr = playerHand.Six + cardsType.ToString();
            if (cardsType == CardsType.Single || cardsType == CardsType.Double)
            {
                soundStr += weight;
            }
            return(GameTool.StrToEnum <AudioManager.AudioSoundType>(soundStr));
        }
        return(AudioManager.AudioSoundType.None);
    }
    public void GameOver()
    {
        if (LandlordsModel.Instance.RoomModel.CurRoomInfo.IsMatch)
        {
            MatchResult();
            return;
        }

        if (LandlordsModel.Instance.RoomModel.CurRoomInfo.RoomType == RoomType.RoomCard)
        {
            if (LandlordsModel.Instance.ResultModel.curJs != LandlordsModel.Instance.ResultModel.allJs)
            {
                OpenUI(RoomType.RoomCard);
            }
            else
            {
                NodeManager.OpenNode <CardResultShowNode>().Inits(null);
                Interaction.Instance.HideAllBtn();
            }
        }
        else
        {
            resultIcon.gameObject.SetActive(true);

            LandkirdsHandCardModel myInfo = LandlordsModel.Instance.MyInfo;
            bool   isWin   = LandlordsModel.Instance.CurWinerIds.Contains(UserInfoModel.userInfo.userId);
            string iconRes = string.Format("{0}_{1}", myInfo.AccessIdentity, isWin ? "win" : "lose");
            resultIcon.sprite = BundleManager.Instance.GetSprite(iconRes, LandlordsPage.Instance.GetSpriteAB());
            resultIcon.SetNativeSize();

            GameObject winEffet  = resultIcon.transform.Find("DouDiZhu_Win").gameObject;
            GameObject loseEffet = resultIcon.transform.Find("DouDiZhu_Fail").gameObject;
            if (isWin)
            {
                winEffet.SetActive(true);
                loseEffet.SetActive(false);
            }
            else
            {
                winEffet.SetActive(false);
                loseEffet.SetActive(true);
            }
        }
    }
Esempio n. 17
0
 /// <summary>
 /// 每个玩家显示层发牌
 /// </summary>
 public void InitPayerLibrary()
 {
     fapaiObj.SetActive(true);
     UIUtils.DelayDesOrDisObject(fapaiObj, 2f, false);
     for (int i = 0; i < LandlordsModel.Instance.RoomPlayerHands.Count; i++)
     {
         LandkirdsHandCardModel handCard = LandlordsModel.Instance.RoomPlayerHands[i];
         if (handCard != null)
         {
             LandlordsBasePlayer player = GetPlayer(handCard.playerInfo.uid);
             player.DealCard(true);
             if (player is LandlordsOtherPlayer)
             {
                 ((LandlordsOtherPlayer)player).CardRemainCountShow();
             }
         }
     }
     LandlordsPage.Instance.LoadComplete();
 }
Esempio n. 18
0
    /// <summary>
    /// 卡牌精灵排序
    /// </summary>
    /// <param name="cType"></param>
    IEnumerator SpriteSort()
    {
        CardUI[] sprites = GetSpriteUIs();
        LandkirdsHandCardModel handCard = LandlordsModel.Instance.GetHandCardMode(UserInfoModel.userInfo.userId.ToString());

        handCard.Sort();
        for (int i = 0; i < handCard.CardsCount; i++)
        {
            for (int j = 0; j < sprites.Length; j++)
            {
                if (sprites[j].Card.Poker.hs == handCard[i].Poker.hs && sprites[j].Card.Poker.ds == handCard[i].Poker.ds)
                {
                    sprites[j].SetIndex(i);
                }
            }
        }
        yield return(null);

        SetCardUISelect(sprites);
    }
Esempio n. 19
0
 public void Inits(int jiesanId)
 {
     if (PageManager.Instance.CurrentPage is LandlordsPage)
     {
         LandkirdsHandCardModel player = LandlordsModel.Instance.RoomPlayerHands.Find(p => p.playerInfo.uid == jiesanId.ToString());
         if (player != null)
         {
             desLb.text = "用户" + player.playerInfo.userNickname + "申请解散该房间";
         }
         SetPlayerState(jiesanId, true);
     }
     else if (PageManager.Instance.CurrentPage is MaJangPage)
     {
         MaJangPlayer player = MaJangPage.Instance.GetPlayerFromSeatNo(jiesanId);
         if (player != null)
         {
             desLb.text = "用户" + player.nickName.text + "申请解散该房间";
         }
         SetPlayerState(player.userId, true);
     }
 }
Esempio n. 20
0
    /// <summary>
    /// 玩家变成地主
    /// </summary>
    public void PlayerToLandlord(string uid, bool isAddCardCountToPlayer = true)
    {
        LandkirdsHandCardModel cards = LandlordsModel.Instance.GetHandCardMode(uid);

        LandlordsModel.Instance.CurLandlordUid = uid;
        if (LandlordsModel.Instance.RoomModel.CurRoomInfo.IsMatch && !LandlordsModel.Instance.RoomModel.CurRoomInfo.IsQdz)
        {
            Multiples = cards.Multiples;
        }

        List <Card> dipai = new List <Card>();

        //显示底牌
        while (DzCard.Instance.CardsCount != 0)
        {
            Card card = DzCard.Instance.Deal();
            dipai.Add(card);
            if (isAddCardCountToPlayer)
            {
                cards.AddCard(card);
            }
        }
        UpdateDeskCardShow(dipai);
        for (int i = 0; i < dipai.Count; i++)
        {
            dipai[i].IsSprite = false;
        }
        LandlordsBasePlayer playCard = LandlordsPage.Instance.playView.GetPlayer(uid);

        if (uid == UserInfoModel.userInfo.userId.ToString())
        {
            playCard.DealCard(faceBundle);
        }
        if (playCard is LandlordsOtherPlayer)
        {
            ((LandlordsOtherPlayer)playCard).CardRemainCountShow();
        }
        //更新身份
        UpdateIndentity(uid, Identity.Landlord);
    }
    /// <summary>
    /// 玩家进入
    /// </summary>
    /// <param name="handCardModel"></param>
    public virtual void Init(LandkirdsHandCardModel handCardModel, CallBack <LandkirdsHandCardModel> onClickHead)
    {
        this._handCard = handCardModel;
        userObj.SetActive(true);
        if (LandlordsModel.Instance.RoomModel.CurRoomInfo.IsMatch)
        {
            MatchChangeState(false);
        }
        else
        {
            NoMatchChangeState(false);
        }
        RestToZhunbei(_handCard.IsZhunbei);
        SetName();
        if (LandlordsModel.Instance.RoomModel.CurRoomInfo.IsMatch)
        {
            coinIcon.gameObject.SetActive(false);
        }
        else
        {
            coinIcon.gameObject.SetActive(true);
            if (LandlordsModel.Instance.RoomModel.CurRoomInfo.RoomType == RoomType.GoldBar)
            {
                coinIcon.sprite = BundleManager.Instance.GetSprite("common/normal_log_2");
            }
            else if (LandlordsModel.Instance.RoomModel.CurRoomInfo.RoomType == RoomType.SilverCoin)
            {
                coinIcon.sprite = BundleManager.Instance.GetSprite("common/normal_log_1");
            }
            else if (LandlordsModel.Instance.RoomModel.CurRoomInfo.RoomType == RoomType.RoomCard)
            {
                coinIcon.sprite = BundleManager.Instance.GetSprite("common/yuepaikaifang_huizhang_1");
            }
            coinIcon.SetNativeSize();
        }
        SetCoin();

        vipObj.SetActive(_handCard.playerInfo.vip > 0);
        UGUIEventListener.Get(headIcon.gameObject).onClick = delegate { onClickHead(_handCard); };
    }
Esempio n. 22
0
    /// <summary>
    ///  创建玩家
    /// </summary>
    /// <param name="character">角色类型</param>
    /// <returns></returns>
    public LandkirdsHandCardModel CreateHandCardMode(string uid, Six six)
    {
        LandkirdsHandCardModel handCard = null;

        if (handCardMode == null)
        {
            handCardMode = new List <LandkirdsHandCardModel>();
        }
        handCard = handCardMode.Find(p => p != null && p.playerInfo.uid == uid);
        if (handCard == null)
        {
            handCard = new LandkirdsHandCardModel(uid, six);
            int noBodyIndex = handCardMode.IndexOf(null);
            if (noBodyIndex == -1)
            {
                handCardMode.Add(handCard);
            }
            else
            {
                handCardMode[noBodyIndex] = handCard;
            }
        }
        return(handCard);
    }
Esempio n. 23
0
    /// <summary>
    /// 断线重连
    /// </summary>
    public static IEnumerator G2C_Reconnect(DdzReconnectResp recontent)
    {
        //临时 true->正在打牌  false->正在准备阶段
        bool isFighting = recontent.stage != 0 && recontent.stage != 4;

        LandlordsModel.Instance.IsInFight = isFighting;
        OrderController.Instance.Clear();
        //房间信息
        if (recontent.yuePaiInfo != null)//房卡房
        {
            LandlordsModel.Instance.RoomModel.CurRoomInfo = new LandlordsRoomModel.LandlordsRoomInfo()
            {
                RoomID       = recontent.yuePaiInfo.rno.ToString(),
                RoomType     = RoomType.RoomCard,
                Beishu       = recontent.yuePaiInfo.fs,
                LeastStore   = recontent.yuePaiInfo.ante,
                CostCard     = recontent.yuePaiInfo.ks,
                CurPlayCount = recontent.yuePaiInfo.currJs,
                MaxPlayCount = recontent.yuePaiInfo.js
            };
            LandlordsModel.Instance.RoomModel.CurRoomInfo.IsMatch = false;
        }
        else if (recontent.matchInfo != null)//比赛房
        {
            LandlordsModel.Instance.RoomModel.CurRoomInfo = new LandlordsRoomModel.LandlordsRoomInfo()
            {
                RoomID = recontent.matchInfo.matcherid.ToString(),//比赛ID
                IsQdz  = recontent.matchInfo.isQdz
            };
            switch (recontent.matchInfo.type)
            {
            case 1:    // 比赛银币
                LandlordsModel.Instance.RoomModel.CurRoomInfo.RoomType = RoomType.SilverCoin;
                break;

            case 2:    //比赛金币
                LandlordsModel.Instance.RoomModel.CurRoomInfo.RoomType = RoomType.GoldBar;
                break;

            case 3:    //比赛积分

                break;

            default:
                break;
            }
            LandlordsModel.Instance.RoomModel.CurRoomInfo.IsMatch = true;
        }
        else//游戏币房
        {
            LandlordsModel.Instance.RoomModel.CurRoomInfo = new LandlordsRoomModel.LandlordsRoomInfo()
            {
                RoomID     = recontent.roomId.ToString(),
                RoomType   = LandlordsRoomModel.GetYxbRoomTypeByID(recontent.roomId),
                LeastStore = int.Parse(LandlordsRoomModel.GetYxbRoomConfigById(recontent.roomId)["ante"].ToString())
            };
            LandlordsModel.Instance.RoomModel.CurRoomInfo.IsMatch = false;
        }


        //3个玩家信息
        if (LandlordsModel.Instance.RoomPlayerHands != null)
        {
            LandlordsModel.Instance.RoomPlayerHands.Clear();
        }
        bool isRoomCard = LandlordsModel.Instance.RoomModel.CurRoomInfo.RoomType == RoomType.RoomCard;

        for (int i = 0; i < recontent.ddzPlayerInfo.Count; i++)
        {
            DdzPlayerInfo playerInfo = recontent.ddzPlayerInfo[i];
            string        uid        = playerInfo.playerBaseInfo.userId.ToString();

            LandkirdsHandCardModel hand = LandlordsModel.Instance.CreateHandCardMode(uid, playerInfo.playerBaseInfo.gender == 0 ? Six.boy : Six.girl);
            hand.playerInfo.userNickname = playerInfo.playerBaseInfo.nickname;
            hand.playerInfo.icon         = playerInfo.playerBaseInfo.photo;
            if (LandlordsModel.Instance.RoomModel.CurRoomInfo.RoomType == RoomType.SilverCoin)
            {
                hand.playerInfo.money = playerInfo.playerBaseInfo.silver;
            }
            else if (LandlordsModel.Instance.RoomModel.CurRoomInfo.RoomType == RoomType.GoldBar)
            {
                hand.playerInfo.money = playerInfo.playerBaseInfo.gold;
            }
            hand.playerInfo.lv    = playerInfo.playerBaseInfo.level;
            hand.playerInfo.vip   = playerInfo.playerBaseInfo.vip;
            hand.playerInfo.win   = playerInfo.playerBaseInfo.won;
            hand.playerInfo.lose  = playerInfo.playerBaseInfo.lost;
            hand.playerInfo.ratio = (float)playerInfo.playerBaseInfo.rate;
            hand.playerInfo.pos   = playerInfo.playerBaseInfo.location;
            hand.playerInfo.exp   = playerInfo.playerBaseInfo.exp;
            //hand.playerInfo.isFriend = playerInfo.playerBaseInfo;
            hand.MatchScore = playerInfo.playerBaseInfo.currJiFen;
            if (i == 0 && isRoomCard)
            {
                hand.IsRoomer = true;
            }
            if (!hand.IsRoomer)
            {
                hand.IsZhunbei = playerInfo.playerBaseInfo.isPrepared;
            }

            hand.isTuoguan = playerInfo.tg == 1;
        }

        if (isFighting)
        {
            FightReconect(recontent);
        }
        else
        {
            NormalReconect();
        }
        yield return(new WaitForSecondsRealtime(2));

        UserInfoModel.userInfo.inDzz = false;
    }
Esempio n. 24
0
 void Init(string uid, List <Card> selectedCardsList)
 {
     this.player            = LandlordsModel.Instance.GetHandCardMode(uid);
     this.selectedCardsList = selectedCardsList;
 }
Esempio n. 25
0
 public override void Init(LandkirdsHandCardModel handCardModel, CallBack <LandkirdsHandCardModel> onClickHead)
 {
     base.Init(handCardModel, onClickHead);
     invateBtn.SetActive(false);
 }
Esempio n. 26
0
    //public static EnterDdzRoomResp _resp;
    /// <summary>
    /// 有人进入房间应答
    /// </summary>
    /// <param name="resp"></param>
    public static void G2C_EnterRoom(EnterDdzRoomResp resp)
    {
        //_resp = resp;
        if (LandlordsModel.Instance.IsInFight)
        {
            return;
        }
        //房间信息
        if (resp.yuePaiInfo != null)//房卡房
        {
            LandlordsModel.Instance.RoomModel.CurRoomInfo = new LandlordsRoomModel.LandlordsRoomInfo()
            {
                RoomID       = resp.yuePaiInfo.rno.ToString(),
                RoomType     = RoomType.RoomCard,
                Beishu       = resp.yuePaiInfo.fs,
                LeastStore   = resp.yuePaiInfo.ante,
                CostCard     = resp.yuePaiInfo.ks,
                CurPlayCount = resp.yuePaiInfo.currJs,
                MaxPlayCount = resp.yuePaiInfo.js
            };
            LandlordsModel.Instance.RoomModel.CurRoomInfo.IsMatch = false;
        }
        else if (resp.matchInfo != null)//比赛房
        {
            LandlordsModel.Instance.RoomModel.CurRoomInfo = new LandlordsRoomModel.LandlordsRoomInfo()
            {
                RoomID = resp.matchInfo.matcherid.ToString(),//比赛ID
                IsQdz  = resp.matchInfo.isQdz
            };
            switch (resp.matchInfo.type)
            {
            case 1:    // 比赛银币
                LandlordsModel.Instance.RoomModel.CurRoomInfo.RoomType = RoomType.SilverCoin;
                break;

            case 2:    //比赛金币
                LandlordsModel.Instance.RoomModel.CurRoomInfo.RoomType = RoomType.GoldBar;
                break;

            case 3:    //比赛积分
                LandlordsModel.Instance.RoomModel.CurRoomInfo.RoomType = RoomType.Match;
                break;
            }
            LandlordsModel.Instance.RoomModel.CurRoomInfo.IsMatch = true;
        }
        else//游戏币房
        {
            LandlordsModel.Instance.RoomModel.CurRoomInfo = new LandlordsRoomModel.LandlordsRoomInfo()
            {
                RoomID     = resp.roomId.ToString(),
                RoomType   = LandlordsRoomModel.GetYxbRoomTypeByID(resp.roomId),
                LeastStore = int.Parse(LandlordsRoomModel.GetYxbRoomConfigById(resp.roomId)["ante"].ToString())
            };
            LandlordsModel.Instance.RoomModel.CurRoomInfo.IsMatch = false;
        }
        bool isRoomCard = LandlordsModel.Instance.RoomModel.CurRoomInfo.RoomType == RoomType.RoomCard;

        //3个玩家信息
        if (LandlordsModel.Instance.RoomPlayerHands != null)
        {
            LandlordsModel.Instance.RoomPlayerHands.Clear();
        }
        for (int i = 0; i < resp.playerBaseInfo.Count; i++)
        {
            PlayerBaseInfo playerInfo = resp.playerBaseInfo[i]; Debug.LogWarning("有玩家进入:" + playerInfo.nickname);
            string         uid        = playerInfo.userId.ToString();

            LandkirdsHandCardModel hand = LandlordsModel.Instance.CreateHandCardMode(uid, playerInfo.gender == 0 ? Six.boy : Six.girl);
            hand.playerInfo.userNickname = playerInfo.nickname;
            hand.playerInfo.icon         = playerInfo.photo;
            if (LandlordsModel.Instance.RoomModel.CurRoomInfo.RoomType == RoomType.SilverCoin)
            {
                hand.playerInfo.money = playerInfo.silver;
            }
            else if (LandlordsModel.Instance.RoomModel.CurRoomInfo.RoomType == RoomType.GoldBar)
            {
                hand.playerInfo.money = playerInfo.gold;
            }
            hand.playerInfo.lv    = playerInfo.level;
            hand.playerInfo.vip   = playerInfo.vip;
            hand.playerInfo.win   = playerInfo.won;
            hand.playerInfo.lose  = playerInfo.lost;
            hand.playerInfo.ratio = (float)playerInfo.rate;
            hand.playerInfo.pos   = playerInfo.location;
            hand.playerInfo.exp   = playerInfo.exp;
            //hand.playerInfo.isFriend = playerInfo.isFriend;
            hand.MatchScore = playerInfo.currJiFen;
            if (i == 0 && isRoomCard)
            {
                hand.IsRoomer = true;
            }
            if (!hand.IsRoomer)
            {
                hand.IsZhunbei = playerInfo.isPrepared;
            }
        }
        if (resp.playerBaseInfo[resp.playerBaseInfo.Count - 1].userId == UserInfoModel.userInfo.userId)//如果当前进来的是自己
        {
            LandlordsPage page = LandlordsPage.Instance;
            if (page == null)
            {
                page = PageManager.Instance.OpenPage <LandlordsPage>();
            }
            if (!LandlordsModel.Instance.RoomModel.CurRoomInfo.IsMatch && resp.playerBaseInfo[0].userId == UserInfoModel.userInfo.userId && LandlordsModel.Instance.RoomModel.CurRoomInfo.RoomType == RoomType.RoomCard)//如果自己是房主并且是房卡房
            {
                LandlordsModel.Instance.MyInfo.IsRoomer = true;
                NodeManager.OpenNode <InvateNode>().Inits(LandlordsModel.Instance.RoomModel.CurRoomInfo.RoomID);
            }
            page.InitRoom();
        }
        else
        {
            LandlordsModel.Instance.RoomPlayerSort();
            LandlordsPage.Instance.playView.InitPlayerPrefab();
        }
        if (LandlordsModel.Instance.RoomModel.CurRoomInfo.IsMatch)
        {
            BisaiInfoReq();
        }
    }