From 749903dc17ff915995712ac88e77c54816edff88 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 29 十二月 2025 15:35:41 +0800
Subject: [PATCH] Merge branch 'master' of http://mobile.secondworld.net.cn:10010/r/Project_SG_scripts

---
 Main/System/Mail/MailManager.cs |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

diff --git a/Main/System/Mail/MailManager.cs b/Main/System/Mail/MailManager.cs
index 1e48d14..cad7a62 100644
--- a/Main/System/Mail/MailManager.cs
+++ b/Main/System/Mail/MailManager.cs
@@ -28,12 +28,16 @@
         tabRedpoint0 = new Redpoint(MainRedDot.MailRepoint, GetTabRedpointId(MailCategory.Personal));
         tabRedpoint1 = new Redpoint(MainRedDot.MailRepoint, GetTabRedpointId(MailCategory.Global));
         DTC0102_tagCDBPlayer.beforePlayerDataInitializeEventOnRelogin += OnBeforePlayerDataInitializeEventOnRelogin;
+        FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChange;
         personalMailMaxLimitCount = int.Parse(FuncConfigConfig.Get("PersonalMail").Numerical1);
     }
+
+
 
     public override void Release()
     {
         DTC0102_tagCDBPlayer.beforePlayerDataInitializeEventOnRelogin -= OnBeforePlayerDataInitializeEventOnRelogin;
+        FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChange;
     }
 
     public void OnBeforePlayerDataInitializeEventOnRelogin()
@@ -41,6 +45,14 @@
         mailDataDict.Clear();
     }
 
+    private void OnFuncStateChange(int obj)
+    {
+        if (obj == (int)FuncOpenEnum.Mail)
+        {
+            UpdateRedPoint();
+        }
+    }
+    
     public bool CheckIsEmptyGrid(int needGrid = 1)
     {
         // 鑳屽寘婊�
@@ -82,6 +94,8 @@
     {
         if (tabRedpoint0 == null)
             return;
+        if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Mail))
+            return;
         tabRedpoint0.state = RedPointState.None;
         if (HasNoReadMail(MailCategory.Personal))
         {

--
Gitblit v1.8.0