コード例 #1
0
    /// <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);
            });
        }
    }
コード例 #2
0
        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);
        }