From cebbc64b43713d984648d2a083ed38415db8e5db Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期六, 11 十月 2025 15:16:38 +0800
Subject: [PATCH] 0312 优化引导

---
 Main/System/Battle/BattleField/BattleField.cs |   29 ++++++++++++++++++++++++-----
 Main/System/Equip/EquipModel.cs               |    5 ++++-
 Main/System/NewBieGuidance/NewBieCenter.cs    |    6 +++---
 Main/System/Equip/EquipExchangeWin.cs         |    2 +-
 Main/System/NewBieGuidance/NewBieWin.cs       |    2 +-
 5 files changed, 33 insertions(+), 11 deletions(-)

diff --git a/Main/System/Battle/BattleField/BattleField.cs b/Main/System/Battle/BattleField/BattleField.cs
index 7f4353d..01e07bd 100644
--- a/Main/System/Battle/BattleField/BattleField.cs
+++ b/Main/System/Battle/BattleField/BattleField.cs
@@ -45,18 +45,22 @@
         }
         set
         {
-            m_IsPause = value;
 
-            if (m_IsPause)
+            if (value)
             {
+                m_IsPause = value;
                 PauseGame();
+                OnBattlePause?.Invoke(m_IsPause);
             }
             else
             {
-                ResumeGame();
+                if (CanResumeGame())
+                {
+                    m_IsPause = value;
+                    ResumeGame();
+                    OnBattlePause?.Invoke(m_IsPause);
+                }
             }
-
-            OnBattlePause?.Invoke(m_IsPause);
         }
     }
 
@@ -545,4 +549,19 @@
     {
         recordPlayer.ForceFinish();
     }
+
+    bool CanResumeGame()
+    {
+        if (UIManager.Instance.IsOpened<NewBieWin>())
+        {
+            return false;
+        }
+
+        if (UIManager.Instance.IsOpened<EquipExchangeWin>())
+        {
+            return false;
+        }
+
+        return true;
+    }
 }
diff --git a/Main/System/Equip/EquipExchangeWin.cs b/Main/System/Equip/EquipExchangeWin.cs
index fb3c1c2..ba25835 100644
--- a/Main/System/Equip/EquipExchangeWin.cs
+++ b/Main/System/Equip/EquipExchangeWin.cs
@@ -31,7 +31,7 @@
 
 
 
-    protected override void OnPreClose()
+    protected override void OnClose()
     {
         EquipModel.Instance.OnEquipOPResultAction -= OnRefreshItem;
         // 閫氱煡涓绘垬鍦�
diff --git a/Main/System/Equip/EquipModel.cs b/Main/System/Equip/EquipModel.cs
index f6f2ead..b8c4317 100644
--- a/Main/System/Equip/EquipModel.cs
+++ b/Main/System/Equip/EquipModel.cs
@@ -283,8 +283,11 @@
         if (waitEquipOP.Count == 0)
             return null;
 
-        return PackManager.Instance.GetItemByIndex(PackType.DropItem, waitEquipOP.Dequeue());
+        // 鏂版墜寮曞涓紝涓嶅厑璁稿垏鎹㈣澶囩晫闈�
+        if (NewBieCenter.Instance.inGuiding)
+            return null;
 
+        return PackManager.Instance.GetItemByIndex(PackType.DropItem, waitEquipOP.Dequeue());
     }
 
 
diff --git a/Main/System/NewBieGuidance/NewBieCenter.cs b/Main/System/NewBieGuidance/NewBieCenter.cs
index ac29f3b..63fd9a6 100644
--- a/Main/System/NewBieGuidance/NewBieCenter.cs
+++ b/Main/System/NewBieGuidance/NewBieCenter.cs
@@ -252,7 +252,7 @@
             waitGuideWinNames.Remove(config.WinName);
         }
 
-        AutoFightModel.Instance.isPause = true;
+        BattleManager.Instance.storyBattleField.IsPause = true;
         currentGuide = _id;
 
         guideStep = config.Steps.Length > 0 ? config.Steps[0] : 0;
@@ -304,7 +304,7 @@
             guideCompletedEvent(guideRecord);
         }
 
-        AutoFightModel.Instance.isPause = false;
+        BattleManager.Instance.storyBattleField.IsPause = false;
     }
 
     public void RemoveNewBieGuide(int _id)
@@ -346,7 +346,7 @@
             guideCompletedEvent(guideRecord);
         }
 
-        AutoFightModel.Instance.isPause = false;
+        BattleManager.Instance.storyBattleField.IsPause = false;
     }
 
     public void ReportGuideStepComplete(int _step)
diff --git a/Main/System/NewBieGuidance/NewBieWin.cs b/Main/System/NewBieGuidance/NewBieWin.cs
index 8f1533b..67153c4 100644
--- a/Main/System/NewBieGuidance/NewBieWin.cs
+++ b/Main/System/NewBieGuidance/NewBieWin.cs
@@ -62,7 +62,7 @@
         NewBieCenter.Instance.guideStepChangeEvent += OnStepChange;
     }
 
-    protected override void OnPreClose()
+    protected override void OnClose()
     {
         NewBieCenter.Instance.guideStepChangeEvent -= OnStepChange;
         if (NewBieCenter.Instance.currentGuide != 0)

--
Gitblit v1.8.0