From 173a7585a897c0c7338a66106f384b09da4d5db3 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期六, 20 十二月 2025 21:34:45 +0800
Subject: [PATCH] 0312 如果战场有任何报错,直接销毁战场,但无法显示正确结算

---
 Main/System/Battle/BattleManager.cs |   26 ++++++++++++++++++--------
 1 files changed, 18 insertions(+), 8 deletions(-)

diff --git a/Main/System/Battle/BattleManager.cs b/Main/System/Battle/BattleManager.cs
index 921999b..8416bd5 100644
--- a/Main/System/Battle/BattleManager.cs
+++ b/Main/System/Battle/BattleManager.cs
@@ -596,19 +596,29 @@
 
     public void Run()
     {
-        try
+
+        List<string> keys = new List<string>(battleFields.Keys);
+        for (int i = keys.Count - 1; i >= 0; i--)
         {
-            List<string> keys = new List<string>(battleFields.Keys);
-            for (int i = keys.Count - 1; i >= 0; i--)
+            var battleField = battleFields[keys[i]];
+            try
             {
-                var battleField = battleFields[keys[i]];
                 battleField?.Run();
             }
+            catch (System.Exception ex)
+            {
+                if (battleField != null && battleField.MapID != 1)
+                {
+                    BattleSettlementManager.Instance.WinShowOver(BattleConst.mapIDToBattleNameDic[battleField.MapID]);
+                }
+                else
+                {
+                    battleField?.CleanBattle();
+                }
+                Debug.LogError(ex);
+            }
         }
-        catch (System.Exception ex)
-        {
-            Debug.LogError(ex);
-        }
+
     }
 
     public BattleField GetBattleFieldByMapID(int v)

--
Gitblit v1.8.0