From 364bb6a6623e49eec17075074a33121b6706fb31 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期五, 19 十二月 2025 11:12:19 +0800
Subject: [PATCH] Merge branch 'master' of http://mobile.secondworld.net.cn:10010/r/Project_SG_scripts

---
 Main/System/Battle/StoryBossBattleWin.cs |   52 +++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 49 insertions(+), 3 deletions(-)

diff --git a/Main/System/Battle/StoryBossBattleWin.cs b/Main/System/Battle/StoryBossBattleWin.cs
index 6106063..ca75718 100644
--- a/Main/System/Battle/StoryBossBattleWin.cs
+++ b/Main/System/Battle/StoryBossBattleWin.cs
@@ -1,4 +1,5 @@
-锘縰sing System.Collections.Generic;
+锘縰sing System;
+using System.Collections.Generic;
 using UnityEngine;
 using UnityEngine.UI;
 
@@ -22,14 +23,15 @@
     protected override void OnPreOpen()
     {
         base.OnPreOpen();
-
+        UIManager.Instance.OnOpenWindow += OnOpenWindow;
         UIManager.Instance.CloseWindow<MainWin>();
+        isClickSkip = false;
     }
 
     protected override void OnPreClose()
     {
         base.OnPreClose();
-
+        UIManager.Instance.OnOpenWindow -= OnOpenWindow;
         if (!UIManager.Instance.IsOpened<MainWin>())
             UIManager.Instance.OpenWindow<MainWin>();
 
@@ -38,8 +40,52 @@
             bossBattleObject.buffMgr.onBuffChanged -= OnBuffChanged;
             bossBattleObject = null;
         }
+
+        if (isClickSkip)
+        {
+            isClickSkip = false;
+            TryPass();
+        }
     }
 
+    bool isClickSkip = false;
+    protected override void OnClickPass()
+    {
+        if (!IsPass())
+            return;
+        isClickSkip = true;
+        clickTime = Time.time;  // 璁板綍鐐瑰嚮鏃堕棿
+        battleField.ForceFinish();
+    }
+
+    void OnOpenWindow(UIBase win)
+    {
+        if (win is BattleVictoryWin || win is BattleFailWin)
+        {
+            isClickSkip = false;
+        }
+    }
+
+    float stayTime = 2f;
+    float clickTime = 0f;
+    void LateUpdate()
+    {
+        if (isClickSkip && Time.time - clickTime >= stayTime)
+        {
+            isClickSkip = false;
+            TryPass();
+        }
+    }
+
+    private void TryPass()
+    {
+        if (UIManager.Instance.IsOpened<BattleVictoryWin>() ||
+            UIManager.Instance.IsOpened<BattleFailWin>())
+            return;
+        CloseWindow();
+        Debug.LogError($"OnBattleEnd 寮傚父鍏抽棴");
+        BattleSettlementManager.Instance.WinShowOver(BattleConst.StoryBossBattleField);
+    }
     protected override void OnCreateBattleField(string guid, BattleField field)
     {
         if (field is StoryBossBattleField)

--
Gitblit v1.8.0