From 622037462ee49ea2652ca1ab1e5940badf1fd364 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期六, 11 十月 2025 14:30:27 +0800
Subject: [PATCH] Merge branch 'master' of http://mobile.secondworld.net.cn:10010/r/Project_SG_scripts

---
 Main/System/FirstCharge/FirstChargeManager.cs |   43 ++++++++++++++++++++++---------------------
 Main/Main.cs                                  |    1 -
 Main/System/Mail/MailManager.cs               |   14 +++++---------
 3 files changed, 27 insertions(+), 31 deletions(-)

diff --git a/Main/Main.cs b/Main/Main.cs
index c6c398f..a76793a 100644
--- a/Main/Main.cs
+++ b/Main/Main.cs
@@ -81,7 +81,6 @@
         managers.Add(MainLevelManager.Instance);
         managers.Add(BattleSettlementManager.Instance);
         managers.Add(GoldRushManager.Instance);
-        managers.Add(MailManager.Instance);
         managers.Add(FirstChargeManager.Instance);
         managers.Add(NewBieCenter.Instance);
         
diff --git a/Main/System/FirstCharge/FirstChargeManager.cs b/Main/System/FirstCharge/FirstChargeManager.cs
index 8c5cb99..353ddd8 100644
--- a/Main/System/FirstCharge/FirstChargeManager.cs
+++ b/Main/System/FirstCharge/FirstChargeManager.cs
@@ -30,7 +30,8 @@
         DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent += OnPlayerLoginOk;
         RechargeManager.Instance.rechargeCountEvent += OnRechargeCountEvent;
         FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
-
+        InitClickTabDict();
+        InitRedPoint();
     }
 
     public override void Release()
@@ -110,15 +111,15 @@
     {
         firstChargeInfoDict.Clear();
     }
+
     public void OnPlayerLoginOk()
     {
-        InitClickTabDict();
-        InitRedPoint();
-        if (FuncOpen.Instance.IsFuncOpen(FuncID)&& TryGetUnBuyFirstId(out int firstId))
+        if (FuncOpen.Instance.IsFuncOpen(FuncID) && TryGetUnBuyFirstId(out int firstId))
         {
             PopupWindowsProcessor.Instance.Add("FirstChargeWin");
         }
     }
+
     public bool TryGetFirstChargeDataByFirstId(int firstId, out FirstChargeData firstChargeData)
     {
         return firstChargeInfoDict.TryGetValue(firstId, out firstChargeData);
@@ -254,7 +255,7 @@
         UpdateRedPoint();
         OnUpdateFirstChargeInfo?.Invoke();
     }
-    
+
     /// <summary>
     /// 妫�鏌ユ槸鍚︽墍鏈夐鍏呭鍔遍兘宸查鍙栵紝濡傛灉鏄紝鍒欏皢褰撳墠鏈嶅姟鍣ㄦ椂闂翠繚瀛樺埌鏈湴
     /// </summary>
@@ -355,7 +356,7 @@
             }
         }
     }
-    
+
     // 妫�鏌ユ槸鍚︽墍鏈夐鍏呭鍔遍兘宸茬粡棰嗗彇
     public bool IsAllFirstChargeRewardsClaimed()
     {
@@ -363,17 +364,17 @@
         var firstChargeIds = FirstChargeConfig.GetKeys();
         if (firstChargeIds == null || firstChargeIds.Count == 0)
             return false;
-            
+
         foreach (var firstId in firstChargeIds)
         {
             // 灏濊瘯鑾峰彇棣栧厖鏁版嵁
             if (!TryGetFirstChargeDataByFirstId(firstId, out var firstChargeData))
                 return false;
-                
+
             // 妫�鏌ユ槸鍚﹁喘涔�
             if (!firstChargeData.IsBuy())
                 return false;
-                
+
             // 妫�鏌ユ槸鍚︽墍鏈夊鍔遍兘宸查鍙�
             if (!firstChargeData.IsAllHave())
                 return false;
@@ -383,32 +384,32 @@
         // 妫�鏌ユ槸鍚﹀凡缁忚繃浜嗙浜屽ぉ0鐐�
         return true;
     }
-    
+
     // 妫�鏌ユ槸鍚﹀凡缁忚繃浜嗘墍鏈夊鍔遍鍙栧畬姣曞悗鐨勭浜屽ぉ0鐐�
     public bool IsNextDayAfterAllClaimed()
     {
         // 鐢熸垚涓�涓敮涓�鐨勯敭鏉ヨ幏鍙栨椂闂�
         string key = $"FirstCharge_AllRewardsClaimed_Time_{PlayerDatas.Instance.baseData.PlayerID}";
-        
+
         // 妫�鏌ユ槸鍚﹀瓨鍦ㄨ褰曠殑鏃堕棿鎴�
         if (!LocalSave.HasKey(key))
             return false;
-        
+
         // 鑾峰彇璁板綍鐨勬椂闂存埑
         string timeString = LocalSave.GetString(key);
         if (string.IsNullOrEmpty(timeString))
             return false;
-        
+
         // 瑙f瀽鏃堕棿鎴�
         if (!long.TryParse(timeString, out long ticks))
             return false;
-        
+
         // 灏嗘椂闂存埑杞崲涓篋ateTime
         DateTime allRewardsClaimedTime = new DateTime(ticks);
-        
+
         // 璁$畻绗簩澶�0鐐圭殑鏃堕棿
         DateTime nextDayStart = allRewardsClaimedTime.Date.AddDays(1);
-        
+
         // 鍒ゆ柇褰撳墠鏈嶅姟鍣ㄦ椂闂存槸鍚﹀凡缁忚繃浜嗙浜屽ぉ0鐐�
         DateTime serverNow = TimeUtility.ServerNow;
         return serverNow >= nextDayStart;
@@ -458,8 +459,8 @@
         }
         return true;
     }
-    
-   // ... existing code ...
+
+    // ... existing code ...
     /// <summary>
     /// 鑾峰彇褰撳墠鏃堕棿鏄喘涔拌繖妗e厖鍊肩ぜ鍖呯殑绗嚑澶�
     /// 璐拱鐨勫綋澶╃畻浣滅涓�澶╋紝绗簩澶�0鐐瑰悗绠楃浜屽ぉ锛屼互姝ょ被鎺�
@@ -469,15 +470,15 @@
     {
         DateTime serverNow = TimeUtility.ServerNow;
         DateTime chargeTime = TimeUtility.GetTime(ChargeTime);
-      
+
         DateTime chargeDate = chargeTime.Date;
         DateTime serverDate = serverNow.Date;
-        
+
         // 璁$畻浠庡厖鍊兼棩鏈熷埌褰撳墠鏃ユ湡鐨勫畬鏁村ぉ鏁�
         // 璐拱鐨勫綋澶╃畻绗竴澶╋紝绗簩澶�0鐐瑰悗绠楃浜屽ぉ
         TimeSpan timeSpan = serverDate - chargeDate;
         int days = (int)timeSpan.TotalDays + 1; // +1 鍥犱负褰撳ぉ绠楃涓�澶�
-        
+
         int maxDay = FirstChargeManager.Instance.maxDay;
 
         return Mathf.Min(maxDay, Mathf.Max(1, days));
diff --git a/Main/System/Mail/MailManager.cs b/Main/System/Mail/MailManager.cs
index 2c3a8ff..477112c 100644
--- a/Main/System/Mail/MailManager.cs
+++ b/Main/System/Mail/MailManager.cs
@@ -22,16 +22,12 @@
     public readonly string dateFormat = "yyyy.MM.dd";
     public string nowUuid = string.Empty;
     public int personalMailMaxLimitCount;
+
+
     public override void Init()
     {
-        if (tabRedpoint0 == null)
-        {
-            tabRedpoint0 = new Redpoint(MainRedDot.MailRepoint, GetTabRedpointId(MailCategory.Personal));
-        }
-        if (tabRedpoint1 == null)
-        {
-            tabRedpoint1 = new Redpoint(MainRedDot.MailRepoint, GetTabRedpointId(MailCategory.Global));
-        }
+        tabRedpoint0 = new Redpoint(MainRedDot.MailRepoint, GetTabRedpointId(MailCategory.Personal));
+        tabRedpoint1 = new Redpoint(MainRedDot.MailRepoint, GetTabRedpointId(MailCategory.Global));
         DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitializeEvent;
         personalMailMaxLimitCount = int.Parse(FuncConfigConfig.Get("PersonalMail").Numerical1);
     }
@@ -143,7 +139,7 @@
         {
             // 灏忎簬1澶╋紙浣嗘湭杩囨湡锛夛細鎸夌簿纭殑灏忔椂/鍒嗛挓鏄剧ず銆�
             TimeSpan t = TimeSpan.FromDays(days);
-            result = Language.Get("Mail12",StringUtility.Contact( " ", Language.Get("Mail13", t.Hours, t.Minutes)));
+            result = Language.Get("Mail12", StringUtility.Contact(" ", Language.Get("Mail13", t.Hours, t.Minutes)));
         }
         else
         {

--
Gitblit v1.8.0