Esempio n. 1
0
    /// <summary>
    /// 请求排行榜
    /// </summary>
    /// <param name="pID">P I.</param>
    /// <param name="msg">Message.</param>
    /// <param name="action">Action.</param>
    public void sendMsg(LobbyProtocol pID, msgReqRankList msg, Action <Message> action)
    {
        JsonObject jsonMsg = new JsonObject();

        jsonMsg.Add("game", (int)msg.game);
        jsonMsg.Add("type", (int)msg.type);
        jsonMsg.Add("scope", (int)msg.scope);
        jsonMsg.Add("area", msg.areaID);
        jsonMsg.Add("rankNum", msg.rankNum);
        sendMsg(pID, jsonMsg, action);
    }
Esempio n. 2
0
    public void onEventShowRank(object data)
    {
        LobbyEvent.RankScopeType rst = (LobbyEvent.RankScopeType)data;
        rst.scope = LobbyEvent.RankScopeType.RANK_SCOPE_TYPE.RANK_AREA;
        rst.type  = LobbyEvent.RankScopeType.RANK_TYPE.RANK_GOLD;

        List <LobbyEvent.Rank> rankList = new List <LobbyEvent.Rank>();

        for (int i = 0; i < Lobby.Lobby.rankList.Count; i++)
        {
            if (rst.type == Lobby.Lobby.rankList [i].rst.type &&
                rst.scope == Lobby.Lobby.rankList [i].rst.scope)
            {
                rankList.Add(Lobby.Lobby.rankList [i]);
            }
        }

        if (rankList.Count == 0)
        {
            //说明还没有请求过,刷新一次

            msgReqRankList rank = new msgReqRankList();
            rank.game    = GameType.GAME_LIANQI;
            rank.areaID  = Account.getSelfData().area;
            rank.rankNum = 50;                                       // 只取前50
            rank.scope   = msgReqRankList.RANK_SCOPE_TYPE.RANK_AREA; //区排行
            rank.type    = msgReqRankList.RANK_TYPE.RANK_GOLD;       //财富排行
            ProtocolManager.getInstance().sendMsg(LobbyProtocol.P_LOBBY_REQ_RANK_LIST, rank, OnRespRankList);

            ViewManagerEvent.EM().InvokeEvent(ViewManagerEvent.EVENT.SHOW_LOADING_ANI, true);
        }
        else
        {
            LobbyEvent.EM().InvokeEvent(LobbyEvent.EVENT.UPDATE_RANK, (object)(rankList));
        }
    }