/// <summary> /// 获取玩家邮件数据 /// </summary> /// <param name="endAction"></param> public static void GetMailboxData(Action <List <MailData> > endAction) { if (_isGetMaliData) { List <MailData> mailDatas = new List <MailData>(); foreach (var item in _mailDic) { MailData mailData = new MailData(); mailData.Initial(item.Value); mailDatas.Add(mailData); } endAction?.Invoke(mailDatas); return; } else { CSEmptyMail cSEmptyMail = new CSEmptyMail(); List <MailData> mailDatas = new List <MailData>(); ProtocalManager.Instance().SendCSEmptyMail(cSEmptyMail, (data) => { _mailDic.Clear(); if (data != null && data.Mail != null && data.Mail.Count > 0) { for (int i = 0; i < data.Mail.Count; i++) { CSMailStruct cSMailStruct = data.Mail[i]; MailData mailData = new MailData(); mailData.Initial(cSMailStruct); mailDatas.Add(mailData); _mailDic.Add(cSMailStruct.MailId, cSMailStruct); } _isGetMaliData = true; } else { //for (int i = 0; i < 10; i++) //{ // CSMailStruct cSMailStruct = new CSMailStruct(); // cSMailStruct.Addresser = 1; // if (i == 0) // { // cSMailStruct.HaveAccessory = true; // } // else // { // cSMailStruct.HaveAccessory = false; // } // cSMailStruct.Message = "测试数据"; // cSMailStruct.MailId = i; // cSMailStruct.Title = "测试邮件" + i; // cSMailStruct.State = 1; // cSMailStruct.DisabledTime = TimeHelper.ServerTimeStampNow; // MailData mailData = new MailData(); // mailData.Initial(cSMailStruct); // mailDatas.Add(mailData); // _mailDic.Add(i, cSMailStruct); //} //_isGetMaliData = true; Debug.Log("没有邮件!"); } endAction?.Invoke(mailDatas); }, (er) => { Debug.LogError("邮件数据获取失败:" + "Code:" + er.webErrorCode + "Message:" + er.ErrorMessage); _isGetMaliData = false; endAction?.Invoke(mailDatas); }); } }
public void SendCSEmptyMail(CSEmptyMail csemptymail, Action <SCMailInfo> ResponseSCMailInfoCallBack, Action <ErrorInfo> errorCallBack, bool isShowDefaultTip = true) { OpCodeType opCodeType = ListOPRelation.GetOpCodeTypeByRequest <CSEmptyMail> (); ProtoSendMethod.BusinessRequest <SCMailInfo>(csemptymail, opCodeType, ResponseSCMailInfoCallBack, errorCallBack, isShowDefaultTip); }