From 9dd79495a941aee769ca9a90f01301cf7a819e04 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期一, 26 五月 2025 19:52:38 +0800
Subject: [PATCH] 59 子 【常规】邮件系统 / 【常规】邮件系统-客户端 MailModel改MailManager

---
 /dev/null                                                                           |  258 -------------------------
 Main/Manager/GameSystemManager/MailManager.cs                                       |  331 +++++++++++++++++++++++++++++++++
 Main/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA363_tagMCMailStateChange.cs |    4 
 Main/Manager/GameSystemManager/MailManager.cs.meta                                  |    0 
 Main/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA362_tagMCMailList.cs        |    4 
 5 files changed, 337 insertions(+), 260 deletions(-)

diff --git a/Main/Mail/MailModel.cs b/Main/Mail/MailModel.cs
deleted file mode 100644
index 9138ec5..0000000
--- a/Main/Mail/MailModel.cs
+++ /dev/null
@@ -1,258 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using UnityEngine;
-using vnxbqy.UI;
-
-public class MailModel : ManagerBase<MailModel>
-{
-    /// <summary>
-    /// 閭欢鏁版嵁瀛楀吀锛屽瓨鍌ㄦ墍鏈夐偖浠惰鎯�
-    /// Key: 閭欢GUID(鍞竴鏍囪瘑)
-    /// Value: 閭欢璇︾粏鏁版嵁(MailData缁撴瀯浣�)
-    /// </summary>
-    Dictionary<string, MailData> mailDataDict = new Dictionary<string, MailData>();
-    public MailCategory nowMailCategory = MailCategory.Personal;
-    public Redpoint parentRedpoint = new Redpoint(MainRedDot.MailRepoint);
-    public Redpoint tabRedpoint0;
-    public Redpoint tabRedpoint1;
-    public event Action OnUpdateMailListEvent;// 鏇存柊閭欢鍒楄〃鏁版嵁
-    public event Action OnUpdateMailStateChangeEvent;// 鏇存柊閭欢鐘舵�佸彉鏇�
-
-    public readonly string dateFormat = "yyyy-MM-dd";
-    public override void Init()
-    {
-        tabRedpoint0 = new Redpoint(MainRedDot.MailRepoint, GetTabRedpointId(MailCategory.Personal));
-        tabRedpoint1 = new Redpoint(MainRedDot.MailRepoint, GetTabRedpointId(MailCategory.Global));
-        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitializeEvent;
-    }
-
-    public override void Release()
-    {
-        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitializeEvent;
-    }
-
-    public void OnBeforePlayerDataInitializeEvent()
-    {
-        mailDataDict.Clear();
-    }
-
-    public bool HasNoReadMail(MailCategory category)
-    {
-        var list = GetMailList(category);
-        if (list.IsNullOrEmpty())
-            return false;
-
-        foreach (var guid in list)
-        {
-            if (mailDataDict.TryGetValue(guid, out var mailData) && mailData.MailState == 1)
-                return true;
-        }
-        return false;
-    }
-
-    public int GetTabRedpointId(MailCategory type)
-    {
-        return MainRedDot.MailRepoint * 10 + (int)type;
-    }
-
-    public void UpdatePersonalRedPoint()
-    {
-        if (tabRedpoint0 == null)
-            return;
-        tabRedpoint0.state = RedPointState.None;
-        if (HasNoReadMail(MailCategory.Personal))
-        {
-            tabRedpoint0.state = RedPointState.Simple;
-        }
-    }
-
-    public void UpdateGlobalRedPoint()
-    {
-        if (tabRedpoint1 == null) return;
-        tabRedpoint1.state = RedPointState.None;
-        if (HasNoReadMail(MailCategory.Global))
-        {
-            tabRedpoint1.state = RedPointState.Simple;
-        }
-    }
-
-    /// <summary>
-    /// 鏇存柊閭欢绾㈢偣鎻愮ず鐘舵��
-    /// </summary>
-    public void UpdateRedPoint()
-    {
-        UpdatePersonalRedPoint();
-        UpdateGlobalRedPoint();
-    }
-
-    public bool TryGetMailData(string uuid, out MailData mailData)
-    {
-        return mailDataDict.TryGetValue(uuid, out mailData);
-    }
-
-    // // 閭欢鏄惁鏈夋晥
-    // public bool IsMailLimit(DateTime CreateDateTime, int limitDays)
-    // {
-    //     TimeSpan timeSpan = TimeUtility.ServerNow - CreateDateTime;
-    //     double totalDays = timeSpan.TotalDays;
-    //     return totalDays > limitDays;
-    // }
-
-    public List<string> GetMailList(MailCategory mailCategory)
-    {
-        var result = new List<string>();
-        foreach (var kvp in mailDataDict)
-        {
-            if (kvp.Value.Category == mailCategory)
-            {
-                result.Add(kvp.Key);
-            }
-        }
-        return result;
-    }
-
-    public List<string> GetSortMailScrList(MailCategory mailCategory)
-    {
-        List<string> resList = GetMailList(mailCategory);
-        return resList.OrderByDescending(guid => mailDataDict[guid].CreateDateTime).ToList();
-    }
-
-    /// <summary>
-    /// 鏇存柊閭欢鍒楄〃鏁版嵁
-    /// </summary>
-    /// <param name="vNetData">浠庢湇鍔″櫒鎺ユ敹鐨勯偖浠跺垪琛ㄦ暟鎹寘</param>
-    public void UpdateMailList(HA362_tagMCMailList vNetData)
-    {
-        if (vNetData == null) return;
-
-        // 鏇存柊閭欢鏁版嵁瀛楀吀
-        foreach (var mail in vNetData.MailList)
-        {
-            var category = vNetData.IsServerMail == 1 ? MailCategory.Global : MailCategory.Personal;
-            var mailData = new MailData();
-
-            mailData.Category = category;
-            mailData.GUID = mail.GUID;
-            mailData.Type = mail.Type;
-            mailData.CreateTime = mail.CreateTime;
-            mailData.CreateDateTime = Convert.ToDateTime(UIHelper.GetTime(mail.CreateTime));
-            mailData.LimitDays = mail.LimitDays;
-            mailData.Title = mail.Title;
-            mailData.Text = mail.Text;
-            mailData.MailState = mail.MailState;
-
-            mailData.Items = mail.Items?.Select(i => new MailItemData
-            {
-                ItemID = i.ItemID,
-                Count = i.Count,
-                IsBind = i.IsBind,
-                UserData = i.UserData
-            }).ToList();
-            mailDataDict[mail.GUID] = mailData;
-        }
-
-        UpdateRedPoint();
-        OnUpdateMailListEvent?.Invoke();
-    }
-
-    /// <summary>
-    /// 鏇存柊閭欢鐘舵�佸彉鏇�
-    /// </summary>
-    /// <param name="vNetData">浠庢湇鍔″櫒鎺ユ敹鐨勯偖浠剁姸鎬佸彉鏇存暟鎹寘</param>
-    public void UpdateMailStateChange(HA363_tagMCMailStateChange vNetData)
-    {
-        if (vNetData == null || vNetData.MailList == null) return;
-
-        foreach (var stateChange in vNetData.MailList)
-        {
-            if (mailDataDict.TryGetValue(stateChange.GUID, out var mailData))
-            {
-                if (stateChange.MailState == 4)
-                {
-                    mailDataDict.Remove(stateChange.GUID);
-                    continue;
-                }
-                mailData.MailState = stateChange.MailState;
-                mailDataDict[stateChange.GUID] = mailData;
-            }
-        }
-
-        UpdateRedPoint();
-        OnUpdateMailStateChangeEvent?.Invoke();
-    }
-
-
-    /// <summary>
-    /// 闃呰閭欢
-    /// </summary>
-    /// <param name="GUID">閭欢GUID</param>
-    public void ReadMail(string GUID)
-    {
-        if (string.IsNullOrEmpty(GUID))
-        {
-            Debug.LogError("闃呰閭欢GUID涓嶈兘涓虹┖");
-            return;
-        }
-        SendRequestMail(GUID, 0);
-    }
-
-    /// <summary>
-    /// 棰嗗彇閭欢
-    /// </summary>
-    /// <param name="GUID">閭欢GUID锛屼负绌烘椂鎵归噺棰嗗彇鎵�鏈夐偖浠�</param>
-    public void ClaimMail(string GUID = null)
-    {
-        SendRequestMail(GUID, 1);
-    }
-
-    /// <summary>
-    /// 鍒犻櫎閭欢
-    /// </summary>
-    /// <param name="GUID">閭欢GUID锛屼负绌烘椂鎵归噺鍒犻櫎宸查鍙栨垨鏃犵墿鍝佺殑宸茶閭欢</param>
-    public void DeleteMail(string GUID = null)
-    {
-        SendRequestMail(GUID, 2);
-    }
-
-    /// <summary>
-    /// 鍙戦�侀偖浠惰姹傚埌鏈嶅姟鍣�
-    /// </summary>
-    /// <param name="GUID">閭欢GUID</param>
-    /// <param name="ReqType">璇锋眰绫诲瀷 0-璁剧疆宸茶锛�1-棰嗗彇閭欢锛�2-鍒犻櫎閭欢</param>
-    public void SendRequestMail(string GUID, byte ReqType)
-    {
-        CA537_tagCMRequestMail pack = new CA537_tagCMRequestMail();
-        pack.GUID = GUID;
-        pack.ReqType = ReqType;
-        GameNetSystem.Instance.SendInfo(pack);
-    }
-}
-
-public enum MailCategory
-{
-    Personal = 0,  // 涓汉閭欢
-    Global = 1     // 鍏ㄦ湇閭欢
-}
-
-public class MailItemData
-{
-    public uint ItemID;        //鐗╁搧ID
-    public uint Count;        //鏁伴噺
-    public byte IsBind;        //鏄惁缁戝畾
-    public string UserData;        //鑷畾涔夋暟鎹�	
-}
-
-public class MailData
-{
-    public MailCategory Category;
-    public string GUID;        //閭欢GUID
-    public byte Type;        //閭欢绫诲瀷锛屾殏鏃堕粯璁�0
-    public string CreateTime;        //鍒涘缓鏃堕棿
-    public DateTime CreateDateTime;
-    public byte LimitDays;        //鏈夋晥澶╂暟
-    public string Title;        //鏍囬
-    public string Text;        //鍐呭
-    public byte MailState;        //閭欢鐘舵�侊細 0-鏈煡锛�1-鏈锛�2-宸茶锛�3-宸查锛�
-    public List<MailItemData> Items;        //鐗╁搧淇℃伅
-}
\ No newline at end of file
diff --git a/Main/Manager/GameSystemManager/MailManager.cs b/Main/Manager/GameSystemManager/MailManager.cs
new file mode 100644
index 0000000..0c26623
--- /dev/null
+++ b/Main/Manager/GameSystemManager/MailManager.cs
@@ -0,0 +1,331 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using UnityEngine;
+
+namespace vnxbqy.UI
+{
+    public class MailManager : GameSystemManager<MailManager>
+    {
+        /// <summary>
+        /// 閭欢鏁版嵁瀛楀吀锛屽瓨鍌ㄦ墍鏈夐偖浠惰鎯�
+        /// Key: 閭欢GUID(鍞竴鏍囪瘑)
+        /// Value: 閭欢璇︾粏鏁版嵁(MailData缁撴瀯浣�)
+        /// </summary>
+        Dictionary<string, MailData> mailDataDict = new Dictionary<string, MailData>();
+        public MailCategory nowMailCategory = MailCategory.Personal;
+        public Redpoint parentRedpoint = new Redpoint(MainRedDot.MailRepoint);
+        public Redpoint tabRedpoint0;
+        public Redpoint tabRedpoint1;
+        public event Action OnUpdateMailListEvent;// 鏇存柊閭欢鍒楄〃鏁版嵁
+        public event Action OnUpdateMailStateChangeEvent;// 鏇存柊閭欢鐘舵�佸彉鏇�
+        public readonly string dateFormat = "yyyy-MM-dd";
+        public string nowUuid = string.Empty;
+        public override void Init()
+        {
+            tabRedpoint0 = new Redpoint(MainRedDot.MailRepoint, GetTabRedpointId(MailCategory.Personal));
+            tabRedpoint1 = new Redpoint(MainRedDot.MailRepoint, GetTabRedpointId(MailCategory.Global));
+            DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitializeEvent;
+        }
+
+        public override void Release()
+        {
+            DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitializeEvent;
+        }
+
+        public void OnBeforePlayerDataInitializeEvent()
+        {
+            mailDataDict.Clear();
+        }
+
+        public bool HasNoReadMail(MailCategory category)
+        {
+            var list = GetMailList(category);
+            if (list.IsNullOrEmpty())
+                return false;
+
+            foreach (var guid in list)
+            {
+                if (mailDataDict.TryGetValue(guid, out var mailData) && mailData.MailState == 1)
+                    return true;
+            }
+            return false;
+        }
+
+        public int GetTabRedpointId(MailCategory type)
+        {
+            return MainRedDot.MailRepoint * 10 + (int)type;
+        }
+
+        public void UpdatePersonalRedPoint()
+        {
+            if (tabRedpoint0 == null)
+                return;
+            tabRedpoint0.state = RedPointState.None;
+            if (HasNoReadMail(MailCategory.Personal))
+            {
+                tabRedpoint0.state = RedPointState.Simple;
+            }
+        }
+
+        public void UpdateGlobalRedPoint()
+        {
+            if (tabRedpoint1 == null) return;
+            tabRedpoint1.state = RedPointState.None;
+            if (HasNoReadMail(MailCategory.Global))
+            {
+                tabRedpoint1.state = RedPointState.Simple;
+            }
+        }
+
+        /// <summary>
+        /// 鏇存柊閭欢绾㈢偣鎻愮ず鐘舵��
+        /// </summary>
+        public void UpdateRedPoint()
+        {
+            UpdatePersonalRedPoint();
+            UpdateGlobalRedPoint();
+        }
+
+        public bool TryGetMailData(string uuid, out MailData mailData)
+        {
+            return mailDataDict.TryGetValue(uuid, out mailData);
+        }
+        public string FormatCreateMailTime(DateTime createDateTime)
+        {
+            TimeSpan diff = TimeUtility.ServerNow - createDateTime;
+            if (diff.TotalHours <= 24)
+            {
+                int hours = (int)Math.Floor(diff.TotalHours);
+                return Language.Get("Mail05", hours);
+            }
+            else
+            {
+                return createDateTime.ToString(dateFormat);
+            }
+        }
+
+        //杩斿洖鏈夋晥鏈熷ぉ鏁�(姝f暟=宸茶繃鏈熷ぉ鏁帮紝璐熸暟=鍓╀綑澶╂暟)
+        public int GetMailExpiryDays(DateTime createDateTime, int limitDays)
+        {
+            DateTime expiryDate = createDateTime.AddDays(limitDays);
+            return (int)(TimeUtility.ServerNow - expiryDate).TotalDays;
+        }
+
+
+        public List<string> GetMailList(MailCategory mailCategory)
+        {
+            var result = new List<string>();
+            foreach (var kvp in mailDataDict)
+            {
+                if (kvp.Value.Category == mailCategory)
+                {
+                    result.Add(kvp.Key);
+                }
+            }
+            return result;
+        }
+
+        public List<string> GetSortMailScrList(MailCategory mailCategory)
+        {
+            List<string> resList = GetMailList(mailCategory);
+            return resList.OrderByDescending(guid => mailDataDict[guid].CreateDateTime).ToList();
+        }
+
+        /// <summary>
+        /// 鏇存柊閭欢鍒楄〃鏁版嵁
+        /// </summary>
+        /// <param name="vNetData">浠庢湇鍔″櫒鎺ユ敹鐨勯偖浠跺垪琛ㄦ暟鎹寘</param>
+        public void UpdateMailList(HA362_tagMCMailList vNetData)
+        {
+            if (vNetData == null) return;
+
+            // 鏇存柊閭欢鏁版嵁瀛楀吀
+            foreach (var mail in vNetData.MailList)
+            {
+                var category = vNetData.IsServerMail == 1 ? MailCategory.Global : MailCategory.Personal;
+                var mailData = new MailData();
+
+                mailData.Category = category;
+                mailData.GUID = mail.GUID;
+                mailData.Type = mail.Type;
+                mailData.CreateTime = mail.CreateTime;
+                mailData.CreateDateTime = Convert.ToDateTime(UIHelper.GetTime(mail.CreateTime));
+                mailData.LimitDays = mail.LimitDays;
+                mailData.Title = mail.Title;
+                mailData.Text = mail.Text;
+                mailData.MailState = mail.MailState;
+
+                mailData.Items = mail.Items?.Select(i => new MailItemData
+                {
+                    ItemID = i.ItemID,
+                    Count = i.Count,
+                    IsBind = i.IsBind,
+                    UserData = i.UserData
+                }).ToList();
+                mailDataDict[mail.GUID] = mailData;
+            }
+
+            UpdateRedPoint();
+            OnUpdateMailListEvent?.Invoke();
+        }
+
+        /// <summary>
+        /// 鏇存柊閭欢鐘舵�佸彉鏇�
+        /// </summary>
+        /// <param name="vNetData">浠庢湇鍔″櫒鎺ユ敹鐨勯偖浠剁姸鎬佸彉鏇存暟鎹寘</param>
+        public void UpdateMailStateChange(HA363_tagMCMailStateChange vNetData)
+        {
+            if (vNetData == null || vNetData.MailList == null) return;
+
+            foreach (var stateChange in vNetData.MailList)
+            {
+                if (mailDataDict.TryGetValue(stateChange.GUID, out var mailData))
+                {
+                    if (stateChange.MailState == 4)
+                    {
+                        mailDataDict.Remove(stateChange.GUID);
+                        continue;
+                    }
+                    mailData.MailState = stateChange.MailState;
+                    mailDataDict[stateChange.GUID] = mailData;
+                }
+            }
+
+            UpdateRedPoint();
+            OnUpdateMailStateChangeEvent?.Invoke();
+        }
+
+
+        /// <summary>
+        /// 闃呰閭欢
+        /// </summary>
+        /// <param name="GUID">閭欢GUID</param>
+        public void ReadMail(string GUID)
+        {
+            if (string.IsNullOrEmpty(GUID))
+            {
+                Debug.LogError("闃呰閭欢GUID涓嶈兘涓虹┖");
+                return;
+            }
+            SendRequestMail(GUID, 0);
+        }
+
+        /// <summary>
+        /// 棰嗗彇閭欢
+        /// </summary>
+        /// <param name="GUID">閭欢GUID锛屼负绌烘椂鎵归噺棰嗗彇鎵�鏈夐偖浠�</param>
+        public void ClaimMail(string GUID = null)
+        {
+            SendRequestMail(GUID, 1);
+        }
+
+        /// <summary>
+        /// 鍒犻櫎閭欢
+        /// </summary>
+        /// <param name="GUID">閭欢GUID锛屼负绌烘椂鎵归噺鍒犻櫎宸查鍙栨垨鏃犵墿鍝佺殑宸茶閭欢</param>
+        public void DeleteMail(string GUID = null)
+        {
+            SendRequestMail(GUID, 2);
+        }
+
+        /// <summary>
+        /// 鍙戦�侀偖浠惰姹傚埌鏈嶅姟鍣�
+        /// </summary>
+        /// <param name="GUID">閭欢GUID</param>
+        /// <param name="ReqType">璇锋眰绫诲瀷 0-璁剧疆宸茶锛�1-棰嗗彇閭欢锛�2-鍒犻櫎閭欢</param>
+        public void SendRequestMail(string GUID, byte ReqType)
+        {
+            CA537_tagCMRequestMail pack = new CA537_tagCMRequestMail();
+            pack.GUID = GUID;
+            pack.ReqType = ReqType;
+            GameNetSystem.Instance.SendInfo(pack);
+        }
+        //娌℃湁涓�涓彲棰嗗彇鐨勯偖浠�
+        public bool IsCanHaveMail()
+        {
+            return mailDataDict.Values.Any(mail =>
+                mail.MailState != 3 &&
+                mail.Items != null &&
+                mail.Items.Count > 0
+            );
+        }
+    }
+
+    public enum MailCategory
+    {
+        Personal = 0,  // 涓汉閭欢
+        Global = 1     // 鍏ㄦ湇閭欢
+    }
+
+    public class MailItemData
+    {
+        public uint ItemID;        //鐗╁搧ID
+        public uint Count;        //鏁伴噺
+        public byte IsBind;        //鏄惁缁戝畾
+        public string UserData;        //鑷畾涔夋暟鎹�	
+    }
+
+    public class MailData
+    {
+        public MailCategory Category;
+        public string GUID;        //閭欢GUID
+        public byte Type;        //閭欢绫诲瀷锛屾殏鏃堕粯璁�0
+        public string CreateTime;        //鍒涘缓鏃堕棿
+        public DateTime CreateDateTime;
+        public byte LimitDays;        //鏈夋晥澶╂暟
+        public string Title;        //鏍囬
+        public string Text;        //鍐呭
+        public byte MailState;        //閭欢鐘舵�侊細 0-鏈煡锛�1-鏈锛�2-宸茶锛�3-宸查锛�
+        public List<MailItemData> Items;        //鐗╁搧淇℃伅
+
+        /// <summary>
+        /// 鍒ゆ柇鏄惁涓烘ā鏉跨被鍨嬮偖浠�
+        /// </summary>
+        /// <returns>true-妯℃澘閭欢, false-鏅�氶偖浠�</returns>
+        public bool IsTemplateMail()
+        {
+            if (string.IsNullOrEmpty(Title))
+                return false;
+
+            return Title.StartsWith("<T>") && Title.EndsWith("</T>");
+        }
+
+        /// <summary>
+        /// 鑾峰彇妯℃澘閭欢鐨勬ā鏉縦ey
+        /// </summary>
+        /// <returns>妯℃澘key锛屽鏋滀笉鏄ā鏉块偖浠惰繑鍥炵┖瀛楃涓�</returns>
+        public string GetTemplateKey()
+        {
+            if (!IsTemplateMail())
+                return string.Empty;
+
+            // 妯℃澘鏍煎紡: <T>key</T>
+            // 璺宠繃寮�澶寸殑"<T>" (3瀛楃)
+            // 鍙栦腑闂撮儴鍒嗭紝鎬婚暱搴﹀噺鍘�"<T>"鍜�"</T>"鍏�7瀛楃
+            const int prefixLength = 3; // "<T>"闀垮害
+            const int suffixLength = 4; // "</T>"闀垮害
+            return Title.Substring(prefixLength, Title.Length - (prefixLength + suffixLength));
+        }
+
+        /// <summary>
+        /// 鑾峰彇妯℃澘閭欢鐨勫弬鏁板垪琛�
+        /// </summary>
+        /// <returns>鍙傛暟鍒楄〃锛屽鏋滀笉鏄ā鏉块偖浠舵垨鍙傛暟涓虹┖鍒欒繑鍥炵┖鍒楄〃</returns>
+        public List<string> GetTemplateParams()
+        {
+            if (!IsTemplateMail() || string.IsNullOrEmpty(Text))
+                return new List<string>();
+
+            try
+            {
+                // 鍙傛暟鏍煎紡涓篔SON鏁扮粍锛歔鍙傛暟1, 鍙傛暟2, ...]
+                return JsonUtility.FromJson<List<string>>(Text);
+            }
+            catch
+            {
+                return new List<string>();
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/Main/Mail/MailModel.cs.meta b/Main/Manager/GameSystemManager/MailManager.cs.meta
similarity index 100%
rename from Main/Mail/MailModel.cs.meta
rename to Main/Manager/GameSystemManager/MailManager.cs.meta
diff --git a/Main/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA362_tagMCMailList.cs b/Main/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA362_tagMCMailList.cs
index ffee400..fb3173a 100644
--- a/Main/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA362_tagMCMailList.cs
+++ b/Main/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA362_tagMCMailList.cs
@@ -1,10 +1,12 @@
 // A3 62 閭欢鍒楄〃 #tagMCMailList
+using vnxbqy.UI;
+
 public class DTCA362_tagMCMailList : DtcBasic
 {
     public override void Done(GameNetPackBasic vNetPack)
     {
         base.Done(vNetPack);
         HA362_tagMCMailList vNetData = vNetPack as HA362_tagMCMailList;
-        MailModel.Instance.UpdateMailList(vNetData);
+        MailManager.Instance.UpdateMailList(vNetData);
     }
 }
diff --git a/Main/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA363_tagMCMailStateChange.cs b/Main/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA363_tagMCMailStateChange.cs
index 09b624e..15f3173 100644
--- a/Main/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA363_tagMCMailStateChange.cs
+++ b/Main/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA363_tagMCMailStateChange.cs
@@ -1,10 +1,12 @@
 // A3 63 閭欢鐘舵�佸彉鏇� #tagMCMailStateChange
+using vnxbqy.UI;
+
 public class DTCA363_tagMCMailStateChange : DtcBasic
 {
     public override void Done(GameNetPackBasic vNetPack)
     {
         base.Done(vNetPack);
         HA363_tagMCMailStateChange vNetData = vNetPack as HA363_tagMCMailStateChange;
-        MailModel.Instance.UpdateMailStateChange(vNetData);
+        MailManager.Instance.UpdateMailStateChange(vNetData);
     }
 }

--
Gitblit v1.8.0