| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171 | using System.Collections.Generic;using ET;using GFGGame;namespace ET{    public class NoticeMailCountChanged : AMHandler<Mail2C_MailCountChanged>    {        protected override async ETTask Run(Session session, Mail2C_MailCountChanged message)        {            MailDataManager.Instance.TotolCount = message.TotolCount;            MailDataManager.Instance.UnreadCount = message.UnreadCount;            EventAgent.DispatchEvent(ConstMessage.MAIL_CHANGE);            await ETTask.CompletedTask;        }    }}namespace GFGGame{    public static class MailSProxy    {        public static async ETTask<bool> ReqMailCount()        {            Mail2C_GetMailCount response = null;            response = (Mail2C_GetMailCount)await MessageHelper.SendToServer(new C2Mail_GetMailCount());            if (response != null)            {                if (response.Error == ErrorCode.ERR_Success)                {                    MailDataManager.Instance.TotolCount = response.TotolCount;                    MailDataManager.Instance.UnreadCount = response.UnreadCount;                    return true;                }            }            return false;        }        public static async ETTask<bool> ReqMailList(int index, int count, bool sort, int page)        {            Mail2C_GetMailList response = null;            response = (Mail2C_GetMailList)await MessageHelper.SendToServer(new C2Mail_GetMailList() { StartIndex = index, Count = count, NeedSort = sort });            if (response != null)            {                if (response.Error == ErrorCode.ERR_Success)                {                    List<MailInfo> mailInfos = new List<MailInfo>();                    for (int i = 0; i < response.mailList.Count; i++)                    {                        MailInfo mailInfo = new MailInfo();                        mailInfo.mailId = response.mailList[i].MailId;                        mailInfo.title = response.mailList[i].Tile;                        mailInfo.timeSec = response.mailList[i].TimeSec * 1000;                        mailInfo.state = response.mailList[i].Status;                        mailInfo.hasItem = response.mailList[i].HasItem;                        // mailInfos.Add(mailInfo);                        MailDataManager.Instance.UpdateMainInfoDic(mailInfo.mailId, mailInfo);                        MailDataManager.Instance.UpdateMailIdList(page, mailInfo.mailId);                    }                    // MailDataManager.Instance.UpdateMailInfoList(mailInfos);                    return true;                }            }            return false;        }        public static async ETTask<bool> ReqMailContent(long mailId)        {            Mail2C_GetMailData response = null;            response = (Mail2C_GetMailData)await MessageHelper.SendToServer(new C2Mail_GetMailData() { RoleId = RoleDataManager.roleId, MailId = mailId });            if (response != null)            {                if (response.Error == ErrorCode.ERR_Success)                {                    MailDataManager.Instance.UnreadCount = response.UnreadCount;                    int state = response.Status;                    string content = response.MailDetail.Content;                    List<ItemData> itemDatas = ItemUtil.CreateItemDataList(response.MailDetail.ItemList);                    MailDataManager.Instance.UpdateMailContent(response.MailId, state, content, itemDatas);                    EventAgent.DispatchEvent(ConstMessage.MAIL_REFRESH);                    return true;                }            }            return false;        }        public static async ETTask<bool> ReqMailReward(long mailId)        {            M2C_GetMailItems response = null;            response = (M2C_GetMailItems)await MessageHelper.SendToServer(new C2M_GetMailItems() { MailId = mailId });            if (response != null)            {                if (response.Error == ErrorCode.ERR_Success)                {                    MailDataManager.Instance.UpdateMailContent(response.MailId, response.Status);                    List<ItemData> itemDatas = MailDataManager.Instance.GetMailInfoById(response.MailId).rewards;                    BonusController.TryShowBonusList(itemDatas);                    EventAgent.DispatchEvent(ConstMessage.RED_CHANGE);                    EventAgent.DispatchEvent(ConstMessage.MAIL_REWARD);                    return true;                }            }            return false;        }        public static async ETTask<bool> ReqAllMailRewards()        {            M2C_GetAllMailItems response = null;            response = (M2C_GetAllMailItems)await MessageHelper.SendToServer(new C2M_GetAllMailItems());            if (response != null)            {                if (response.Error == ErrorCode.ERR_Success)                {                    MailDataManager.Instance.UnreadCount = response.UnreadCount;                    List<ItemData> itemDatas = ItemUtil.CreateItemDataList(response.ItemList);                    if (itemDatas.Count == 0)                    {                        PromptController.Instance.ShowFloatTextPrompt("暂无邮件可领取");                        return false;                    }                    BonusController.TryShowBonusList(itemDatas);                    EventAgent.DispatchEvent(ConstMessage.MAIL_ALLREWARD);                    return true;                }            }            return false;        }        public static async ETTask<bool> ReqDeleteMail(long mailId)        {            Mail2C_DeleteMail response = null;            response = (Mail2C_DeleteMail)await MessageHelper.SendToServer(new C2Mail_DeleteMail() { RoleId = RoleDataManager.roleId, MailId = mailId });            if (response != null)            {                if (response.Error == ErrorCode.ERR_Success)                {                    MailDataManager.Instance.TotolCount = response.TotolCount;                    EventAgent.DispatchEvent(ConstMessage.MAIL_DELETE);                    return true;                }            }            return false;        }        public static async ETTask<bool> ReqDeleteAllMails()        {            Mail2C_DeleteAllMails response = null;            response = (Mail2C_DeleteAllMails)await MessageHelper.SendToServer(new C2Mail_DeleteAllMails() { RoleId = RoleDataManager.roleId });            if (response != null)            {                if (response.Error == ErrorCode.ERR_Success)                {                    if (response.DeleteCount > 0)                    {                        MailDataManager.Instance.TotolCount = MailDataManager.Instance.TotolCount - response.DeleteCount;                        EventAgent.DispatchEvent(ConstMessage.MAIL_AllDELETE);                    }                    return true;                }            }            return false;        }    }}
 |