yyl
2025-12-03 93cab33f292e99c81e738b2b6c58c7fa21a7f371
Main/System/Battle/BattleField/BattleField.cs
@@ -145,6 +145,8 @@
        rejectNewPackage = false;
        OnRoundChange?.Invoke(round, turnMax);
        PreloadResources(redTeamList, blueTeamList);
#if UNITY_EDITOR
        if (Launch.Instance.isOpenSkillLogFile)
        {
@@ -181,6 +183,18 @@
            battleHpRecorder.Add(guid, battleHpRecord);
        }
#endif
    }
    private void PreloadResources(List<TeamBase> redTeamList, List<TeamBase> blueTeamList)
    {
        if (blueTeamList == null || blueTeamList.Count <= 0)
        {
            return;
        }
        // 传递战场GUID
        PreloadResAction preloadAction = new PreloadResAction(this, redTeamList, blueTeamList);
        recordPlayer.PlayRecord(preloadAction);
    }
    
    protected virtual void LoadMap(int mapID)
@@ -244,6 +258,9 @@
    public virtual void Run()
    {
        //  清理音频
        soundManager.Run();
        if (IsPause)
            return;
@@ -605,6 +622,9 @@
            // 战场自身的结束逻辑,不含结算等外部逻辑
            OnSettlement(turnFightStateData);
            BattleResManager.Instance.UnloadBattleResources(guid);
            int winFaction = (int)turnFightStateData["winFaction"];
            //获胜阵营:   一般为1或者2,当玩家发起的战斗时,如果获胜阵营不等于1代表玩家失败了
@@ -641,6 +661,9 @@
        
        // 清理死亡处理记录
        processingDeathObjIds.Clear();
        // ===== 新增:卸载蓝队资源 =====
        BattleResManager.Instance.UnloadBattleResources(guid);
    }
    //清场敌方但不终止战斗,用于切换主线BOSS战斗后,正常显示敌方