//邮件操作 (操作类型 1:设置为已读,2:删除) void MailOperation(int type, params int [] mail) { ComLoading.Open(); HttpTask task = new HttpTask(ThreadType.MainThread, TaskResponse.Default_Response); ChangeMailStateParam param = new ChangeMailStateParam(); param.gid = Core.Data.playerManager.PlayerID; param.ids = mail; param.type = type; //消息类型 1:战报,2,邮件 param.msgType = 2; task.AppendCommonParam(RequestType.CHANGE_MAIL_STATE, param); task.afterCompleted = (BaseHttpRequest request, BaseResponse response) => { ComLoading.Close(); if (response.status != BaseResponse.ERROR) { ChangeMailStateResponse res = response as ChangeMailStateResponse; // Debug.Log(res.data); if (res.data) { //操作成功 //标记已读 if (type == 1) { foreach (int id in mail) { MailReveicer.Instance.SetMailState(id, 1); } } else if (type == 2) { //删除邮件 foreach (int id in mail) { MailReveicer.Instance.SetMailState(id, 2); } } //刷新邮件 MailBox._mInstance._view.RefreshMsg(); // //刷新邮箱的状态 // MailBox._mInstance._view.SetNewSgin(MailReveicer.Instance.mailState); if (type == 2) { OnBtnClick("Close"); } } } }; task.ErrorOccured = (BaseHttpRequest request, string error) => { Debug.Log("Mail[" + mail[0] + "] Operation[" + type.ToString() + "] is error![" + error + "]"); }; task.DispatchToRealHandler(); }
//发送所有战报为已读状态 void SendFightAllReadRequest() { ComLoading.Open(); HttpTask task = new HttpTask(ThreadType.MainThread, TaskResponse.Default_Response); ChangeMailStateParam param = new ChangeMailStateParam(); param.gid = Core.Data.playerManager.PlayerID; List <FightMegCellData> list_fight = MailReveicer.Instance.list_fight; List <int> list_ids = new List <int>(); foreach (FightMegCellData data in list_fight) { list_ids.Add(data.id); } param.ids = list_ids.ToArray(); param.type = 1; param.msgType = 1; task.AppendCommonParam(RequestType.CHANGE_MAIL_STATE, param); task.afterCompleted = (BaseHttpRequest request, BaseResponse response) => { ComLoading.Close(); if (response.status != BaseResponse.ERROR) { ChangeMailStateResponse res = response as ChangeMailStateResponse; //Debug.Log(res.data); if (res.data) { //操作成功 if (MailReveicer.Instance.mailState == MailState.AllNew) { MailReveicer.Instance.mailState = MailState.newMsg; } else if (MailReveicer.Instance.mailState == MailState.newFight) { MailReveicer.Instance.mailState = MailState.None; } //_view.SetNewSgin(MailReveicer.Instance.mailState); } } }; task.ErrorOccured = (BaseHttpRequest request, string error) => { ComLoading.Close(); Debug.Log("SendFightAllReadRequest is error!"); }; task.DispatchToRealHandler(); }