From 524fb77b407ac22e8b14df0360945e5b8064cd34 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期三, 22 十月 2025 15:55:40 +0800
Subject: [PATCH] 143 演武场-客户端 修改战斗切出

---
 Main/System/Arena/ArenaManager.cs    |    3 ++-
 Main/System/Battle/ArenaBattleWin.cs |   36 +++++++++++++++++++++++++-----------
 2 files changed, 27 insertions(+), 12 deletions(-)

diff --git a/Main/System/Arena/ArenaManager.cs b/Main/System/Arena/ArenaManager.cs
index b9acc8d..2b9df76 100644
--- a/Main/System/Arena/ArenaManager.cs
+++ b/Main/System/Arena/ArenaManager.cs
@@ -7,7 +7,8 @@
 {
     public readonly int rankType = 1;    // 姒滃崟绫诲瀷
     public readonly int funcId = 27;    // 鍔熻兘Id
-    public readonly int DeployTroopsFuncId = 32;    // 甯冮樀鍔熻兘ID
+    public readonly int DeployTroopsFuncId = 31;    // 甯冮樀鍔熻兘ID
+    public readonly int BattleChangeTabFuncId = 32; // 鎴樻枟鑳藉垏鎹㈤〉绛惧姛鑳絀D
     public readonly int recType = 308;  // 婕旀鍦虹帺瀹舵寫鎴樿褰曠被鍨� 308
     public readonly int ChallengeMoneyType = 53;
     public readonly int NeedChallengeMoneyCnt = 1;
diff --git a/Main/System/Battle/ArenaBattleWin.cs b/Main/System/Battle/ArenaBattleWin.cs
index 8bb0fb5..7802024 100644
--- a/Main/System/Battle/ArenaBattleWin.cs
+++ b/Main/System/Battle/ArenaBattleWin.cs
@@ -8,6 +8,7 @@
 {
     // 缁勪欢寮曠敤
     [SerializeField] Transform mountPoint;
+    [SerializeField] Transform transButtons;
     [SerializeField] Button btnSpeed;
     [SerializeField] Text textSpeed;
     [SerializeField] Button btnPass;
@@ -76,7 +77,18 @@
         BattleManager.Instance.onBattleFieldCreate += OnCreateBattleField;
         EventBroadcast.Instance.AddListener<BattleDmgInfo>(EventName.BATTLE_DAMAGE_TAKEN, OnDamageTaken);
         EventBroadcast.Instance.AddListener<string, JsonData>(EventName.BATTLE_END, OnBattleEnd);
-        UIManager.Instance.GetUI<MainWin>()?.CloseSubUI();
+
+        BattleManager.Instance.storyBattleField.IsPause = true;
+        bool isOpenBattleChangeTab = IsOpenBattleChangeTab();
+        transButtons.localPosition = new Vector3(0, isOpenBattleChangeTab ? 200 : 0, 0);
+        if (isOpenBattleChangeTab)
+        {
+            UIManager.Instance.GetUI<MainWin>()?.CloseSubUI();
+        }
+        else
+        {
+            UIManager.Instance.CloseWindow<MainWin>();
+        }
     }
 
     protected override void OnPreClose()
@@ -87,8 +99,17 @@
         BattleManager.Instance.onBattleFieldCreate -= OnCreateBattleField;
         EventBroadcast.Instance.RemoveListener<BattleDmgInfo>(EventName.BATTLE_DAMAGE_TAKEN, OnDamageTaken);
         EventBroadcast.Instance.RemoveListener<string, JsonData>(EventName.BATTLE_END, OnBattleEnd);
-        UIManager.Instance.GetUI<MainWin>()?.RestoreSubUI();
+        BattleManager.Instance.storyBattleField.IsPause = false;
 
+        bool isOpenBattleChangeTab = IsOpenBattleChangeTab();
+        if (isOpenBattleChangeTab)
+        {
+            UIManager.Instance.GetUI<MainWin>()?.RestoreSubUI();
+        }
+        else
+        {
+            UIManager.Instance.OpenWindow<MainWin>();
+        }
     }
 
     private void OnTabChangeEvent()
@@ -301,16 +322,9 @@
         txtWaveInfo.text = Language.Get("BoneField09", battleField.round, battleField.turnMax);
     }
 
-    bool IsBlockBattleChangeTab()
+    bool IsOpenBattleChangeTab()
     {
-        string activeBattleName = BattleManager.Instance.GetActiveBattleName();
-        // 娌℃湁姝e湪杩涜鐨勬垬鏂�
-        if (activeBattleName == null || activeBattleName == "")
-            return false;
-        // 涓荤嚎閬撲腑涓嶉樆姝㈠垏鍑�
-        if (activeBattleName == "StoryBattleField")
-            return false;
-        return true;
+        return FuncOpen.Instance.IsFuncOpen(ArenaManager.Instance.BattleChangeTabFuncId);
     }
 
 }

--
Gitblit v1.8.0