示例#1
0
    //邮件操作   (操作类型 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();
    }
示例#2
0
    //发送所有战报为已读状态
    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();
    }