Exemplo 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, msgReqPackageList msg, Action <Message> action)
    {
        JsonObject jsonMsg = new JsonObject();

        jsonMsg.Add("game", (int)msg.game);
        sendMsg(pID, jsonMsg, action);
    }
Exemplo n.º 2
0
    void  OnRespUpdateEmail(Message msg)
    {
        ViewManagerEvent.EM().InvokeEvent(ViewManagerEvent.EVENT.SHOW_LOADING_ANI, false);


        msgReqUpdateEmail resp = msgReqUpdateEmail.deserialize(msg);

        int find = -1;

        for (int i = 0; i < Lobby.Lobby.privateMsgList.Count; i++)
        {
            if (Lobby.Lobby.privateMsgList [i].id == resp.awardEmailId)
            {
                find = i;
                break;
            }
        }
        if (find == -1)
        {
            //邮件不存在
            return;
        }
        LobbyEvent.PrivateMsg psm;
        psm.author    = Lobby.Lobby.privateMsgList [find].author;
        psm.content   = Lobby.Lobby.privateMsgList [find].content;
        psm.end_time  = Lobby.Lobby.privateMsgList [find].end_time;
        psm.has_read  = Lobby.Lobby.privateMsgList [find].has_read;
        psm.id        = Lobby.Lobby.privateMsgList [find].id;
        psm.send_time = Lobby.Lobby.privateMsgList [find].send_time;
        psm.title     = Lobby.Lobby.privateMsgList [find].title;

        if (resp.type == CommonDefine.eUpdateEmailType.READ)
        {
            //更新邮件缓存列表
            psm.has_read = 1;
            Lobby.Lobby.privateMsgList [find] = psm;

            checkIfHasUnReadEmail();
        }
        else if (resp.type == CommonDefine.eUpdateEmailType.DEL)
        {
            //删除
            Lobby.Lobby.privateMsgList.RemoveAt(find);

            checkIfHasUnReadEmail();
        }
        else if (resp.type == CommonDefine.eUpdateEmailType.GET_AWARD)
        {
            CommonUtil.EmailContent ec = CommonUtil.EmailContent.deserialize(Lobby.Lobby.privateMsgList[find].content);

            if (ec.hasGottenAward)
            {
                //已经领取过奖励了
                CommonUtil.Util.showDialog("温馨提示", "您已经领取过奖励了 :)");

                return;
            }
            else
            {
                ec.hasGottenAward = true;
                psm.content       = CommonUtil.EmailContent.serialize(ec);
                Lobby.Lobby.privateMsgList [find] = psm;

                // 奖励需要同时更新 用户金币以及包裹信息
                if (ec.type == CommonUtil.EmailContent.AWARD_TYPE.GOLD)
                {
                    Account.updateUserGold(ec.awardCnt);
                    //已经可以更新用户相关界面信息
                    onEventShowUserInfo(null);
                }
                else if (ec.type == CommonUtil.EmailContent.AWARD_TYPE.PROP)
                {
                    //重新请求一遍
                    msgReqPackageList package = new msgReqPackageList();
                    package.game = GameType.GAME_LIANQI;
                    ProtocolManager.getInstance().sendMsg(LobbyProtocol.P_LOBBY_REQ_PACKAGE_LIST, package, OnRespPackageList);
                }
            }
        }

        LobbyEvent.sV2C_ReqUpdateEmail re;
        re.id   = resp.awardEmailId;
        re.type = resp.type;
        LobbyEvent.EM().InvokeEvent(LobbyEvent.EVENT.SHOW_UPDATE_EMAIL_RESULT, (object)re);
    }
Exemplo n.º 3
0
    //-------------------------------以下为网络消息处理---------------------------------
    public void onAccountLoginSuccess(object data)
    {
        //此时需要加载动画,大厅界面不可点击,数据全部收到或者部分收到时,可以点击。
        SelfData self = Account.getSelfData();

        onEventShowUserInfo(null);

        //为了节省服务器压力,以下数据后续需要实现md5方式请求,如果数据未发生变动,则不需要请求。to do
        //请求大厅数据
        msgReqPlazaList plaza = new msgReqPlazaList();

        plaza.game = GameType.GAME_LIANQI;
        ProtocolManager.getInstance().sendMsg(LobbyProtocol.P_LOBBY_REQ_PLAZA_LIST, plaza, OnRespPlazaList);

        msgReqPropList prop = new msgReqPropList();

        prop.game = GameType.GAME_LIANQI;
        ProtocolManager.getInstance().sendMsg(LobbyProtocol.P_LOBBY_REQ_PROP_LIST, prop, OnRespPropList);

        msgReqPackageList package = new msgReqPackageList();

        package.game = GameType.GAME_LIANQI;
        ProtocolManager.getInstance().sendMsg(LobbyProtocol.P_LOBBY_REQ_PACKAGE_LIST, package, OnRespPackageList);

        msgReqSysMsgList sysmsg = new msgReqSysMsgList();

        sysmsg.game      = GameType.GAME_LIANQI;
        sysmsg.channelId = ChannelType.CHANNEL_APPSTORE;
        ProtocolManager.getInstance().sendMsg(LobbyProtocol.P_LOBBY_REQ_SYSMSG, sysmsg, OnRespSysMsgList);

        //
        msgReqPrivateMsgList primsg = new msgReqPrivateMsgList();

        primsg.game  = GameType.GAME_LIANQI;
        primsg.begin = 0;
        primsg.cnt   = 20;
        ProtocolManager.getInstance().sendMsg(LobbyProtocol.P_LOBBY_REQ_PRIVATEMSG, primsg, OnRespPrivateMsgList);

        msgReqStoreList store = new msgReqStoreList();

        store.game      = GameType.GAME_LIANQI;
        store.channelID = ChannelType.CHANNEL_APPSTORE;
        ProtocolManager.getInstance().sendMsg(LobbyProtocol.P_LOBBY_REQ_STORE_LIST, store, OnRespStoreList);

        msgReqFriendList friend = new msgReqFriendList();

        friend.game = GameType.GAME_LIANQI;
        ProtocolManager.getInstance().sendMsg(LobbyProtocol.P_LOBBY_REQ_FRIEND_LIST, friend, OnRespFriendList);


        /////新增 2017-04-05
        //请求签到和抽奖数据
        msgReqSignInLuckDrawData sild = new msgReqSignInLuckDrawData();

        sild.game     = GameType.GAME_LIANQI;
        sild.areaID   = self.area;
        sild.deviceID = "deviceID";
        ProtocolManager.getInstance().sendMsg(LobbyProtocol.P_LOBBY_REQ_SIGNIN_LUCKDRAW_DATA, sild, OnRespSignInLuckDrawList);
        //请求签到
        msgReqSignIn signin = new msgReqSignIn();

        signin.game     = GameType.GAME_LIANQI;
        signin.areaID   = self.area;
        signin.deviceID = "deviceID";
        ProtocolManager.getInstance().sendMsg(LobbyProtocol.P_LOBBY_REQ_SIGNIN, signin, OnRespSignIn);
        //请求抽奖
        msgReqLuckDraw luckdraw = new msgReqLuckDraw();

        luckdraw.game     = GameType.GAME_LIANQI;
        luckdraw.areaID   = self.area;
        luckdraw.deviceID = "deviceID";
        ProtocolManager.getInstance().sendMsg(LobbyProtocol.P_LOBBY_REQ_LUCKDRAW, luckdraw, OnRespLuckDraw);
    }