/// <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); }
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); }
//-------------------------------以下为网络消息处理--------------------------------- 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); }