yyl
2025-10-22 b1f98c42a6b859b35c26e0722efb38a6e9c215be
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()
    {