From dc7922d80c1d133b6261b8af1d521567d2c0a35d Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期四, 30 十月 2025 16:51:39 +0800
Subject: [PATCH] Merge branch 'master' of http://mobile.secondworld.net.cn:10010/r/Project_SG_scripts

---
 Main/System/Battle/BattleField/BattleField.cs |   47 ++++++++++++++++++-----------------------------
 1 files changed, 18 insertions(+), 29 deletions(-)

diff --git a/Main/System/Battle/BattleField/BattleField.cs b/Main/System/Battle/BattleField/BattleField.cs
index f926e10..8285e8e 100644
--- a/Main/System/Battle/BattleField/BattleField.cs
+++ b/Main/System/Battle/BattleField/BattleField.cs
@@ -8,50 +8,35 @@
 public class BattleField
 {
     public Action<int, int> OnRoundChange;
+    public Action<bool> OnBattlePause;
+
+    public Action<float> OnSpeedRatioChange; // 娣诲姞鎴樻枟閫熷害鍙樺寲鐨勫洖璋�
+
+    public Action OnBattleRun; // 娣诲姞鎴樻枟杩愯鏃剁殑鍥炶皟
 
     public BattleObjMgr battleObjMgr;
-
     public BattleEffectMgr battleEffectMgr;
-
     public BattleTweenMgr battleTweenMgr;
-
     public RecordPlayer recordPlayer;
-
     public IOperationAgent operationAgent;
 
     public byte turnMax;
-
     public int round = 0;
-
-    public string guid = string.Empty;//绛変簬string.Empty鐨勬椂鍊欎唬琛ㄦ槸StoryBattleField 鏄富绾垮壇鏈�
-
+    public string guid = string.Empty;
     public int MapID = 0;
-
     public int FuncLineID = 0;
-
     public float speedRatio = 1.1f;
-
     public JsonData extendData;
 
-    public bool IsBattleFinish
-    {
-        get;
-        protected set;
-    }
-
+    public bool IsBattleFinish { get; protected set; }
     public bool rejectNewPackage = false;
 
     private bool m_IsPause = false;
-
     public bool IsPause
     {
-        get
-        {
-            return m_IsPause;
-        }
+        get { return m_IsPause; }
         set
         {
-
             if (value)
             {
                 m_IsPause = value;
@@ -71,18 +56,12 @@
     }
 
     public BattleRootNode battleRootNode;
-
     private BattleMode battleMode;
     public event Action<BattleMode> ChangeBattleModeEvent;
 
-    public Action<bool> OnBattlePause;
-
     protected List<TeamBase> redTeamList = null;
-
     protected List<TeamBase> blueTeamList = null;
-
     protected int redTeamIndex = 0;
-
     protected int blueTeamIndex = 0;
 
     public BattleField(string _guid)
@@ -161,11 +140,17 @@
 
     public void SetSpeedRatio(float ratio)
     {
+        bool isChange = speedRatio != ratio;
         speedRatio = ratio;
         battleObjMgr.SetSpeedRatio(ratio);
         recordPlayer.SetSpeedRatio(ratio);
         battleEffectMgr.SetSpeedRatio(ratio);
         battleTweenMgr.SetSpeedRatio(ratio);
+
+        if (isChange)
+        {
+            OnSpeedRatioChange?.Invoke(ratio);
+        }
     }
 
     protected virtual void SetBattleStartState()
@@ -210,6 +195,7 @@
         }
         if (recordPlayer == null || battleObjMgr == null)
             return;
+        
         recordPlayer.Run();
         battleObjMgr.Run();
         battleEffectMgr.Run();
@@ -221,6 +207,9 @@
         }
 
         operationAgent.Run();
+        
+        // 瑙﹀彂 UI 灞傜殑鏇存柊鍥炶皟
+        OnBattleRun?.Invoke();
     }
 
 

--
Gitblit v1.8.0