From 2df1999cde3d0d6009a860a035cdc7011bb56d25 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期二, 21 十月 2025 15:49:37 +0800
Subject: [PATCH] 305 子 【配套功能】新手引导 / 软引导战斗指引

---
 Main/System/Battle/BattleWin.cs |   45 +++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 43 insertions(+), 2 deletions(-)

diff --git a/Main/System/Battle/BattleWin.cs b/Main/System/Battle/BattleWin.cs
index 6489673..2fda744 100644
--- a/Main/System/Battle/BattleWin.cs
+++ b/Main/System/Battle/BattleWin.cs
@@ -13,6 +13,8 @@
 
     private BattleField battleField;
 
+    float lastClickTime;
+    bool needGuide = false;
     // 鐢熷懡鍛ㄦ湡
     protected override void InitComponent()
     {
@@ -40,14 +42,15 @@
 
     protected override void OnPreOpen()
     {
-        base.OnPreOpen();
+        lastClickTime = Time.realtimeSinceStartup;
+        needGuide = !MainLevelManager.Instance.IsPassedByMainLevelID(BattleManager.Instance.fightGuideMainLevelLimit);
+
         // SetBattleField(BattleManager.Instance.storyBattleField);
         BattleManager.Instance.onBattleFieldCreate += OnCreateBattleField;
     }
 
     protected override void OnPreClose()
     {
-        base.OnPreClose();
         UIManager.Instance.CloseWindow<BattleHUDWin>();
         BattleManager.Instance.onBattleFieldCreate -= OnCreateBattleField;
     }
@@ -113,4 +116,42 @@
         ui.SetBattleField(battleField);
         battleField.UpdateCanvas(canvas);
     }
+
+    
+
+
+    void LateUpdate()
+    {
+        if (!needGuide)
+            return;
+
+        if (Input.GetMouseButtonDown(0))
+        {
+            lastClickTime = Time.realtimeSinceStartup;
+        }
+
+
+        if (Time.realtimeSinceStartup - lastClickTime > BattleManager.Instance.fightGuideNoClickSeconds)
+        {
+            if (AutoFightModel.Instance.isAutoAttack)
+            {
+                return;
+            }
+
+            if (NewBieCenter.Instance.inGuiding)
+            {
+                return;
+            }
+
+            if (UIManager.Instance.ExistAnyFullScreenOrMaskWin(""))
+            {
+                return;
+            }
+
+            NewBieCenter.Instance.StartNewBieGuide(BattleManager.Instance.fightGuideID);
+            needGuide = !MainLevelManager.Instance.IsPassedByMainLevelID(BattleManager.Instance.fightGuideMainLevelLimit);
+            BattleManager.Instance.storyBattleField.IsPause = false;
+            lastClickTime = Time.realtimeSinceStartup;
+        }
+    }
 }

--
Gitblit v1.8.0