Exemplo n.º 1
0
    public void joinedTable(Table.JoinRsp join)
    {
        Debug.Log("JoinRsp");

        if (join.err_no == 0)
        {
            RoleController.Instance.clear();
            GameConst.ower            = join.owner;
            DataMgr.Instance.sumRound = join.rule.totalround;
            DataMgr.Instance.maxbet   = join.rule.maxbet;
            DataMgr.Instance.jiangma  = join.rule.jiangma;
            DataMgr.Instance.maima    = join.rule.maima;
            ProtoReq.Ready();
            for (int i = 0; i < join.roles.Count; i++)
            {
                RoleController.Instance.addPlayer(join.roles[i]);

                Debug.Log("role" + i + join.roles[i].name);
            }
            RoomPanel.Instance.load();
        }
        else if (join.err_no == 1)
        {
            QuickTips.ShowQuickTipsNor("房间不存在");
        }
        else if (join.err_no == 2)
        {
            QuickTips.ShowQuickTipsNor("人数已满");
        }
        else if (join.err_no == 3)
        {
            QuickTips.ShowQuickTipsNor("已经在座位上,可能别处登录");
        }
        else if (join.err_no == 4)
        {
            QuickTips.ShowQuickTipsNor("没有适合座位了");
        }
    }
Exemplo n.º 2
0
    public void rejoinTable(Table.ReJoinRsp reJoin)
    {
        if (reJoin.err_no == 0)
        {
            RoleController.Instance.clear();
            GameConst.tableId         = reJoin.tab_id;
            GameConst.ower            = reJoin.owner;
            DataMgr.Instance.sumRound = reJoin.rule.totalround;
            DataMgr.Instance.maxbet   = reJoin.rule.maxbet;
            DataMgr.Instance.jiangma  = reJoin.rule.jiangma;
            DataMgr.Instance.maima    = reJoin.rule.maima;
            if (reJoin.cur_id == MainRole.Instance.Id)
            {
                GameConst.isTurn = true;
            }
            else
            {
                GameConst.isTurn = false;
            }

            foreach (var item in reJoin.roles)
            {
                RoleController.Instance.addPlayer(item);
            }
            if (reJoin.is_playing == 1)
            {
                GameConst.curId   = reJoin.cur_id;
                GameConst.curCard = reJoin.cur_card;
                GameConst.isPlay  = true;
                DataMgr.Instance.reSet();
                DataMgr.Instance.curRound    = reJoin.cur_round;
                DataMgr.Instance.leftCardNum = reJoin.left_card;

                foreach (var item in reJoin.player_record)
                {
                    if (DataMgr.Instance._showScore.ContainsKey(item.id))
                    {
                        DataMgr.Instance._showScore[item.id] = item.total_score;
                    }
                    else
                    {
                        DataMgr.Instance._showScore.Add(item.id, item.total_score);
                    }
                }

                foreach (var item in reJoin.end_cards)
                {
                    if (item.id == MainRole.Instance.Id)
                    {
                        CardController.Instance.cleanUp();
                        bool flag = false;
                        for (int i = 0; i < item.cards.Count; i++)
                        {
                            if (reJoin.cur_id == MainRole.Instance.Id)
                            {
                                if (reJoin.cur_card == item.cards[i] && !flag)
                                {
                                    flag = true;
                                    continue;
                                }
                            }
                            Card card = new Card(item.cards[i]);
                            CardController.Instance.addCard(card.CardType, card.CardNum);
                        }
                    }
                    else
                    {
                        switch (item.id.idToPos())
                        {
                        case 1:
                            DataMgr.Instance.rightCardNum = item.cards.Count;
                            break;

                        case 2:
                            DataMgr.Instance.topCardNum = item.cards.Count;
                            break;

                        case 3:
                            DataMgr.Instance.leftCardNum = item.cards.Count;
                            break;
                        }
                    }

                    for (int i = 0; i < item.outcards.Count; i++)
                    {
                        DataMgr.Instance._heCards[item.id.idToPos()].Add(item.outcards[i]);
                    }
                    for (int i = 0; i < item.pgdata.Count; i++)
                    {
                        if (item.pgdata[i].ptype == 0)
                        {
                            DataMgr.Instance._everyPeng[item.id.idToPos()].Add(item.pgdata[i].card, new PengData(item.id.idToPos(), item.pgdata[i].from.idToPos(), item.pgdata[i].card, null));
                        }
                        else
                        {
                            if (item.pgdata[i].ptype == 3)
                            {
                                DataMgr.Instance._everyGang[item.id.idToPos()].Add(item.pgdata[i].card, new GangData(item.id.idToPos(), item.id.idToPos(), item.pgdata[i].card, true, null));
                            }
                            else
                            {
                                DataMgr.Instance._everyGang[item.id.idToPos()].Add(item.pgdata[i].card, new GangData(item.id.idToPos(), item.pgdata[i].from.idToPos(), item.pgdata[i].card, false, null));
                            }
                        }
                    }
                }
                //EventDispatcher.Instance.Dispatch(GameEventConst.RECONNECT, true);
                RoomPanel.Instance.load(1);
            }
            else
            {
                if (reJoin.is_playing == 0)
                {
                    ProtoReq.Ready();
                }
                //EventDispatcher.Instance.Dispatch(GameEventConst.RECONNECT, false);
                RoomPanel.Instance.load(reJoin.err_no);
            }
            SoundMgr._instance.bgmPlay("beijing-fangjian" + GameConst.BGM, GameConst.musicVol);
        }
    }