From 39001a600fcae2bcf27c225df8752d75fb92fef4 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期五, 31 十月 2025 11:18:26 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_scripts

---
 Main/System/Battle/BattleObject/BattleObjMgr.cs |   18 ++++++++++++++----
 1 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/Main/System/Battle/BattleObject/BattleObjMgr.cs b/Main/System/Battle/BattleObject/BattleObjMgr.cs
index 833e788..446cc62 100644
--- a/Main/System/Battle/BattleObject/BattleObjMgr.cs
+++ b/Main/System/Battle/BattleObject/BattleObjMgr.cs
@@ -12,12 +12,13 @@
     private Dictionary<int, BattleObject> redCampDict = new Dictionary<int, BattleObject>();
     private Dictionary<int, BattleObject> blueCampDict = new Dictionary<int, BattleObject>();
 
-    protected Dictionary<int, BattleObject> allBattleObjDict = new Dictionary<int, BattleObject>();
+    public Dictionary<int, BattleObject> allBattleObjDict = new Dictionary<int, BattleObject>();
 
     protected BattleField battleField;
 
     public void Init(BattleField _battleField, TeamBase _redTeam, TeamBase _blueTeam)
     {
+        Release();
         battleField = _battleField;
         ReloadTeam(_redTeam, BattleCamp.Red);
         ReloadTeam(_blueTeam, BattleCamp.Blue, false);
@@ -48,6 +49,7 @@
                 battleObj.heroGo.SetActive(active);
                 allBattleObjDict.Add(battleObj.ObjID, battleObj);
                 campDict.Add(teamHero.positionNum, battleObj);
+                battleObj.SetSpeedRatio(battleField.speedRatio);
             }
         }
     }
@@ -129,11 +131,11 @@
         foreach (var item in campDict)
         {
             BattleObject battleObj = item.Value;
-            var objId = item.Key;
+            var positionNum = item.Key;
             if (battleObj != null)
             {
-                allBattleObjDict.Remove(objId);
-                BattleObjectFactory.DestroyBattleObject(objId, battleObj);
+                allBattleObjDict.Remove(battleObj.ObjID);
+                BattleObjectFactory.DestroyBattleObject(battleObj.ObjID, battleObj);
             }
         }
         campDict.Clear();
@@ -239,6 +241,14 @@
         }
     }
 
+    public void SetSpeedRatio(float ratio)
+    {
+        foreach (var obj in allBattleObjDict.Values)
+        {
+            obj.SetSpeedRatio(ratio);
+        }
+    }
+
 #if UNITY_EDITOR_STOP_USING
     public void ReviveAll()
     {

--
Gitblit v1.8.0