From 10ee3cd494d466a7330d07bfaf2a7496e87d13d4 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期二, 06 一月 2026 14:44:42 +0800
Subject: [PATCH] 0312 因事件订阅未取消引发的问题

---
 Main/System/KnapSack/Logic/RolePackWin.cs                  |    1 
 Main/System/ItemTip/ChooseItemsWin.cs                      |    1 
 Main/System/GeneralConfig/DayRemind.cs                     |    1 
 Main/System/Setting/QuickSetting.cs                        |    3 +
 Main/System/CustomizedGift/CustomizedGiftModel.cs          |    7 +++
 Main/System/HappyXB/HappyXBModel.cs                        |    2 
 Main/System/SystemSetting/SystemSetting.cs                 |    1 
 Main/System/KnapSack/Logic/ItemLogicUtility.cs             |    2 
 Main/System/Chat/ChatWin.cs                                |    2 
 Main/System/OpenServerActivity/OpenServerActivityCenter.cs |    2 +
 Main/System/DailySpecials/DailySpecialsManager.cs          |    2 
 Main/System/GMCommand/GMInputWin.cs                        |    7 +++
 Main/Component/UI/Common/FuncOpen.cs                       |    2 +
 Main/System/Recharge/PrivilegeCardWin.cs                   |    2 
 Main/System/GMCommand/GMCmdPanel.cs                        |    5 ++
 Main/System/Main/RightFuncInHome.cs                        |    8 +++
 Main/System/Message/MessageWin.cs                          |    8 ++-
 Main/System/OpenServerActivity/OperationTimeHepler.cs      |    3 +
 Main/System/AssetVersion/InGameDownLoadProgress.cs         |    3 +
 19 files changed, 52 insertions(+), 10 deletions(-)

diff --git a/Main/Component/UI/Common/FuncOpen.cs b/Main/Component/UI/Common/FuncOpen.cs
index 0e984d3..772eebd 100644
--- a/Main/Component/UI/Common/FuncOpen.cs
+++ b/Main/Component/UI/Common/FuncOpen.cs
@@ -35,6 +35,8 @@
             _index++;
         }
 
+        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= BeforePlayerDataInitializeEvent;
+        DTC0102_tagCDBPlayer.switchAccountEvent -= SwitchAccountEvent;
         DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += BeforePlayerDataInitializeEvent;
         DTC0102_tagCDBPlayer.switchAccountEvent += SwitchAccountEvent;
 
diff --git a/Main/System/AssetVersion/InGameDownLoadProgress.cs b/Main/System/AssetVersion/InGameDownLoadProgress.cs
index 39c7d4b..53e6e82 100644
--- a/Main/System/AssetVersion/InGameDownLoadProgress.cs
+++ b/Main/System/AssetVersion/InGameDownLoadProgress.cs
@@ -59,6 +59,9 @@
     private void OnDestroy()
     {
         m_ViewDownLoad.RemoveAllListeners();
+        InGameDownLoad.Instance.downLoadStateChangeEvent -= OnDownLoadStateChange;
+        InGameDownLoad.Instance.dominantDownLoadEvent -= OnDownLoadDominantStateChange;
+        
     }
 
     private void OnDownLoadDominantStateChange(InGameDownLoad.Dominant _dominant)
diff --git a/Main/System/Chat/ChatWin.cs b/Main/System/Chat/ChatWin.cs
index 2216c3d..5e026dc 100644
--- a/Main/System/Chat/ChatWin.cs
+++ b/Main/System/Chat/ChatWin.cs
@@ -107,7 +107,7 @@
         scrWorld.OnGetDynamicSize += OnGetWorldChatDynamicSize;
         scrWorld.OnRefreshCell += OnRefreshWorldCell;
         scrWorld.mScrollRect.onValueChanged.AddListener(OnWorldScrollValChange);
-        scrGuild.OnGetDynamicSize += OnGetWorldChatDynamicSize;
+        scrGuild.OnGetDynamicSize += OnGetGuildChatDynamicSize;
         scrGuild.OnRefreshCell += OnRefreshGuildCell;
         scrGuild.mScrollRect.onValueChanged.AddListener(OnGuildScrollValChange);
 
diff --git a/Main/System/CustomizedGift/CustomizedGiftModel.cs b/Main/System/CustomizedGift/CustomizedGiftModel.cs
index d4cfe40..122261d 100644
--- a/Main/System/CustomizedGift/CustomizedGiftModel.cs
+++ b/Main/System/CustomizedGift/CustomizedGiftModel.cs
@@ -29,6 +29,13 @@
 
     }
 
+    public override void Release()
+    {
+        OperationTimeHepler.Instance.operationStartEvent -= OperationStartEvent;
+        OperationTimeHepler.Instance.operationEndEvent -= OperationEndEvent;
+        OperationTimeHepler.Instance.operationAdvanceEvent -= OperationAdvanceEvent;
+    }
+
 
 
 
diff --git a/Main/System/DailySpecials/DailySpecialsManager.cs b/Main/System/DailySpecials/DailySpecialsManager.cs
index f9560e3..b262790 100644
--- a/Main/System/DailySpecials/DailySpecialsManager.cs
+++ b/Main/System/DailySpecials/DailySpecialsManager.cs
@@ -23,7 +23,7 @@
     public override void Release()
     {
         DTC0102_tagCDBPlayer.beforePlayerDataInitializeEventOnRelogin -= OnBeforePlayerDataInitializeEventOnRelogin;
-        rechargeManager.rechargeCountEvent += OnRechargeCountEvent;
+        rechargeManager.rechargeCountEvent -= OnRechargeCountEvent;
         StoreModel.Instance.RefreshShopEvent -= OnRefreshShopEvent;
         StoreModel.Instance.RefreshBuyShopLimitEvent -= OnRefreshBuyShopLimitEvent;
         FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChange;
diff --git a/Main/System/GMCommand/GMCmdPanel.cs b/Main/System/GMCommand/GMCmdPanel.cs
index 0df2d85..d89fd95 100644
--- a/Main/System/GMCommand/GMCmdPanel.cs
+++ b/Main/System/GMCommand/GMCmdPanel.cs
@@ -30,6 +30,11 @@
         CreateCmdCell();
     }
 
+    protected override void OnPreClose()
+    {
+        _cmdCtrl.OnRefreshCell -= RefreshCmdCell;
+    }
+
     protected override void OnOpen()
     {
         base.OnOpen();
diff --git a/Main/System/GMCommand/GMInputWin.cs b/Main/System/GMCommand/GMInputWin.cs
index ac90a1e..b87b128 100644
--- a/Main/System/GMCommand/GMInputWin.cs
+++ b/Main/System/GMCommand/GMInputWin.cs
@@ -45,7 +45,7 @@
         _gmInfoBtn.onClick.AddListener(OnClickGMInfoBtn);
         _clearBtn.onClick.AddListener(OnClickClearBtn);
         achieveJumpTestBtn.AddListener(ClickAchieveJumpBtn);
-    }       
+    }
 
 
     protected override void OnPreOpen()
@@ -55,6 +55,11 @@
 
         _cmdContent.SetActive(false);
     }
+    
+    protected override void OnPreClose()
+    {
+        _cmdCtrl.OnRefreshCell -= RefreshCmdCell;
+    }
 
     protected override void OnOpen()
     {
diff --git a/Main/System/GeneralConfig/DayRemind.cs b/Main/System/GeneralConfig/DayRemind.cs
index 7f6de05..66fd828 100644
--- a/Main/System/GeneralConfig/DayRemind.cs
+++ b/Main/System/GeneralConfig/DayRemind.cs
@@ -24,6 +24,7 @@
     protected DayRemind()
     {
         GetPlayerDayRemind();
+        DTC0102_tagCDBPlayer.afterPlayerDataInitializeEvent -= AfterPlayerDataInitializeEvent;
         DTC0102_tagCDBPlayer.afterPlayerDataInitializeEvent += AfterPlayerDataInitializeEvent;
     }
 
diff --git a/Main/System/HappyXB/HappyXBModel.cs b/Main/System/HappyXB/HappyXBModel.cs
index 540229f..c46c66b 100644
--- a/Main/System/HappyXB/HappyXBModel.cs
+++ b/Main/System/HappyXB/HappyXBModel.cs
@@ -79,7 +79,7 @@
 
     public override void Release()
     {
-        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitialize;
+        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEventOnRelogin -= OnBeforePlayerDataInitialize;
         FuncOpen.Instance.OnFuncStateChangeEvent -= UpdateFuncState;
         PackManager.Instance.RefreshItemEvent -= RefreshXBTool;
         TimeMgr.Instance.OnDayEvent -= OnDayEvent;
diff --git a/Main/System/ItemTip/ChooseItemsWin.cs b/Main/System/ItemTip/ChooseItemsWin.cs
index b5cd23b..428e1ee 100644
--- a/Main/System/ItemTip/ChooseItemsWin.cs
+++ b/Main/System/ItemTip/ChooseItemsWin.cs
@@ -68,6 +68,7 @@
 
     protected override void OnPreClose()
     {
+        BoxGetItemModel.Instance.countChangeAction -= OnCountChangeAction;
         scroller.OnRefreshCell -= OnRefreshCell;
     }
 
diff --git a/Main/System/KnapSack/Logic/ItemLogicUtility.cs b/Main/System/KnapSack/Logic/ItemLogicUtility.cs
index 5ce49e8..58c40e0 100644
--- a/Main/System/KnapSack/Logic/ItemLogicUtility.cs
+++ b/Main/System/KnapSack/Logic/ItemLogicUtility.cs
@@ -50,7 +50,7 @@
 
 
 
-
+        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitialize;
         DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize;
     }
 
diff --git a/Main/System/KnapSack/Logic/RolePackWin.cs b/Main/System/KnapSack/Logic/RolePackWin.cs
index a106791..9f43b88 100644
--- a/Main/System/KnapSack/Logic/RolePackWin.cs
+++ b/Main/System/KnapSack/Logic/RolePackWin.cs
@@ -56,6 +56,7 @@
         packScroller.OnRefreshCell -= RefreshPackCell;
         composeScroller.OnRefreshCell -= RefreshComposeCell;
         PackManager.Instance.refrechPackEvent -= RefrechPackEvent;
+        PackManager.Instance.RefreshItemEvent -= RefreshItemEvent;
     }
 
     float cdTime = 0f;
diff --git a/Main/System/Main/RightFuncInHome.cs b/Main/System/Main/RightFuncInHome.cs
index d8f3617..4eb474d 100644
--- a/Main/System/Main/RightFuncInHome.cs
+++ b/Main/System/Main/RightFuncInHome.cs
@@ -50,7 +50,7 @@
             ShowFuncCol(false);
         });
 
-        UIManager.Instance.OnCloseWindow -= OnCloseWindow;
+
         UIManager.Instance.OnCloseWindow += OnCloseWindow;
 
         dayMissionBtn.AddListener(() =>
@@ -88,6 +88,12 @@
             UIManager.Instance.OpenWindow<FunctionPreviewWin>();
         });
     }
+    
+    void OnDestroy()
+    {
+        UIManager.Instance.OnCloseWindow -= OnCloseWindow;
+    }
+
 
     void ShowBtns()
     {
diff --git a/Main/System/Message/MessageWin.cs b/Main/System/Message/MessageWin.cs
index 7267c66..f9728db 100644
--- a/Main/System/Message/MessageWin.cs
+++ b/Main/System/Message/MessageWin.cs
@@ -50,8 +50,7 @@
         // 鍒濆鍖栫粍浠�
         m_ContainerNormalHint.OnWaitCompelete(OnHintDisplayComplete);
         m_ContainerChatHint.OnWaitCompelete(OnHintDisplayComplete);
-        m_ScrollControl.OnRefreshCell += OnRefreshGmCell;
-        m_ScrollControl.OnGetDynamicSize += OnGetDynamicSize;
+
         m_ScrollControl.lockType = EnhanceLockType.LockVerticalBottom;
         m_GMClose.onClick.AddListener(OnGMClose);
     }
@@ -72,6 +71,8 @@
         ServerTipDetails.gmMessageRefresh += DisplayGM;
         ServerTipDetails.gmOpenEvent += GmOpenEvent;
         ServerTipDetails.chatHintRefresh += CheckChatHint;
+        m_ScrollControl.OnRefreshCell += OnRefreshGmCell;
+        m_ScrollControl.OnGetDynamicSize += OnGetDynamicSize;
         CheckNormalHint();
         CheckChatHint();
         CheckServerHint();
@@ -102,7 +103,8 @@
         ServerTipDetails.gmMessageRefresh -= DisplayGM;
         ServerTipDetails.gmOpenEvent -= GmOpenEvent;
         ServerTipDetails.chatHintRefresh -= CheckChatHint;
-        // 绐楀彛鍏抽棴鏃剁殑閫昏緫
+        m_ScrollControl.OnRefreshCell -= OnRefreshGmCell;
+        m_ScrollControl.OnGetDynamicSize -= OnGetDynamicSize;
         
     }
 
diff --git a/Main/System/OpenServerActivity/OpenServerActivityCenter.cs b/Main/System/OpenServerActivity/OpenServerActivityCenter.cs
index 3f7cf55..2cdb0d0 100644
--- a/Main/System/OpenServerActivity/OpenServerActivityCenter.cs
+++ b/Main/System/OpenServerActivity/OpenServerActivityCenter.cs
@@ -36,6 +36,7 @@
 
     public OpenServerActivityCenter()
     {
+        TimeUtility.OnServerOpenDayRefresh -= OnServerOpenDayRefresh;
         TimeUtility.OnServerOpenDayRefresh += OnServerOpenDayRefresh;
     }
 
@@ -50,6 +51,7 @@
         if (!openServerActivitys.ContainsKey(funcOrder))
         {
             openServerActivitys.Add(funcOrder, activity);
+            activity.onStateUpdate -= OnStateUpdate;
             activity.onStateUpdate += OnStateUpdate;
         }
     }
diff --git a/Main/System/OpenServerActivity/OperationTimeHepler.cs b/Main/System/OpenServerActivity/OperationTimeHepler.cs
index da8884e..e5b0b0c 100644
--- a/Main/System/OpenServerActivity/OperationTimeHepler.cs
+++ b/Main/System/OpenServerActivity/OperationTimeHepler.cs
@@ -19,6 +19,9 @@
 
     public OperationTimeHepler()
     {
+        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= BeforePlayerDataInitializeEvent;
+        GlobalTimeEvent.Instance.secondEvent -= SecondEvent;
+        TimeMgr.Instance.OnHourEvent -= HourEvent;
         DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += BeforePlayerDataInitializeEvent;
         GlobalTimeEvent.Instance.secondEvent += SecondEvent;
         TimeMgr.Instance.OnHourEvent += HourEvent;
diff --git a/Main/System/Recharge/PrivilegeCardWin.cs b/Main/System/Recharge/PrivilegeCardWin.cs
index 96fde90..f6177ac 100644
--- a/Main/System/Recharge/PrivilegeCardWin.cs
+++ b/Main/System/Recharge/PrivilegeCardWin.cs
@@ -21,7 +21,7 @@
     protected override void OnPreClose()
     {
         InvestModel.Instance.onInvestUpdate -= OnInvestUpdate;
-        GlobalTimeEvent.Instance.secondEvent += OnSecondEvent;
+        GlobalTimeEvent.Instance.secondEvent -= OnSecondEvent;
 
     }
 
diff --git a/Main/System/Setting/QuickSetting.cs b/Main/System/Setting/QuickSetting.cs
index ff9ea4a..6d56aa2 100644
--- a/Main/System/Setting/QuickSetting.cs
+++ b/Main/System/Setting/QuickSetting.cs
@@ -12,6 +12,7 @@
 {
     public QuickSetting()
     {
+        quickSettingDic.Clear();
         //鑷姩鎴樻枟 鍑犲�嶆秷鑰� 鍑犲�嶉�熷害 鏄惁楂樻垬鍔涘仠姝� 鏄惁寮�鍚嚜鍔ㄦ垬鏂�
         quickSettingDic.Add(QuickSettingType.AutoFight_Cost, new QuickSettingRange(QuickSettingType.AutoFight_Cost, 0, 1));
         quickSettingDic.Add(QuickSettingType.AutoFight_Speed, new QuickSettingRange(QuickSettingType.AutoFight_Speed, 1, 1));
@@ -23,7 +24,9 @@
         quickSettingDic.Add(QuickSettingType.CreateRole, new QuickSettingRange(QuickSettingType.CreateRole, 17, 1));
 
         setting = new string(UCharacter, 100);
+        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= BeforePlayerDataInitializeEvent;
         DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += BeforePlayerDataInitializeEvent;
+        DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent -= OnPlayerLoginOk;
         DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent += OnPlayerLoginOk;
     }
 
diff --git a/Main/System/SystemSetting/SystemSetting.cs b/Main/System/SystemSetting/SystemSetting.cs
index d7dbdb2..b38d9fa 100644
--- a/Main/System/SystemSetting/SystemSetting.cs
+++ b/Main/System/SystemSetting/SystemSetting.cs
@@ -26,6 +26,7 @@
 
     public SystemSetting()
     {
+        DTC0102_tagCDBPlayer.switchAccountEvent -= OnSwitchAccount;
         DTC0102_tagCDBPlayer.switchAccountEvent += OnSwitchAccount;
     }
 

--
Gitblit v1.8.0