From 796f2b2e8a0435df7e3cf8e36afeeb69d7b37876 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期六, 13 十二月 2025 16:22:32 +0800
Subject: [PATCH] 0312 特权卡立即跳过不受功能开启影响(20级) 优化挑战BOSS引导提示时机 吞噬红点优武将"新"提醒 优化武将突破红点 满星不能遣散问题

---
 Main/System/Battle/BattleWin.cs |   40 +++++++++++++++++++++++++++++++---------
 1 files changed, 31 insertions(+), 9 deletions(-)

diff --git a/Main/System/Battle/BattleWin.cs b/Main/System/Battle/BattleWin.cs
index f1c6d26..00f5b88 100644
--- a/Main/System/Battle/BattleWin.cs
+++ b/Main/System/Battle/BattleWin.cs
@@ -48,7 +48,9 @@
 
     protected override void OnPreOpen()
     {
-        // lastClickTime = Time.realtimeSinceStartup;
+        lastClickTime = Time.realtimeSinceStartup;
+        UIManager.Instance.OnCloseWindow += OnCloseWindow;
+        PlayerDatas.Instance.playerDataRefreshEvent += OnPlayerDataRefresh;
         needGuide = !MainLevelManager.Instance.IsPassedByMainLevelID(BattleManager.Instance.fightGuideMainLevelLimit);
 
         // SetBattleField(BattleManager.Instance.storyBattleField);
@@ -58,6 +60,8 @@
 
     protected override void OnPreClose()
     {
+        UIManager.Instance.OnCloseWindow -= OnCloseWindow;
+        PlayerDatas.Instance.playerDataRefreshEvent -= OnPlayerDataRefresh;
         UIManager.Instance.CloseWindow<BattleHUDWin>();
         BattleManager.Instance.onBattleFieldCreate -= OnCreateBattleField;
         UIManager.Instance.OnOpenWindow -= OnOpenWindow;
@@ -71,10 +75,6 @@
         }
     }
 
-    protected override void OnOpen()
-    {
-        base.OnOpen();
-    }
 
     protected override void OnClose()
     {
@@ -89,16 +89,38 @@
         battleField = null;
     }
 
-    protected override void NextFrameAfterOpen()
+
+
+    void OnCloseWindow(UIBase ui)
     {
-        base.NextFrameAfterOpen();
+        if (ui is NewBieWin)
+        {
+            lastClickTime = Time.realtimeSinceStartup;
+        }
     }
 
-    protected override void CompleteClose()
+    bool lastIsBoss = false;
+
+    void OnPlayerDataRefresh(PlayerDataType type)
     {
-        base.CompleteClose();
+        switch (type)
+        {
+
+            case PlayerDataType.ExAttr1:
+            case PlayerDataType.ExAttr2:
+                if (!lastIsBoss && MainLevelManager.Instance.CanChallengeBoss())
+                {
+                    //鍙寫鎴樼殑鏃跺�欎篃瑕佺瓑CD
+                    lastClickTime = Time.realtimeSinceStartup;
+                    lastIsBoss = true;
+                }
+                break;
+
+        }
     }
 
+
+
     public void SetBattleField(BattleField _battleField)
     {
         battleField = _battleField;

--
Gitblit v1.8.0