yyl
2026-02-11 3f2cd27c5dfb3b450245bf1a37fc1b3414031c7c
Main/System/Battle/BattleManager.cs
@@ -3,6 +3,8 @@
using LitJson;
using System;
using System.Linq;
using Cysharp.Threading.Tasks;
using ProjSG.Resource;
public class BattleManager : GameSystemManager<BattleManager>
{
@@ -502,6 +504,12 @@
        int MapID = (int)vNetData.MapID;
        int FuncLineID = (int)vNetData.FuncLineID;
        // US4 T043: Trigger BattleScene preload before creating battle field
        if (!ResourcePreloader.Instance.IsConfigLoaded("BattleScene"))
        {
            PreloadBattleResourcesAsync().Forget();
        }
        bool isCreate = true;
        if (battleFields.TryGetValue(guid, out battleField))
        {
@@ -548,6 +556,23 @@
        return battleField;
    }
    /// <summary>
    /// US4 T043: 异步预加载战斗资源。
    /// </summary>
    public async UniTask PreloadBattleResourcesAsync(IProgress<float> progress = null)
    {
        if (ResourcePreloader.Instance.IsConfigLoaded("BattleScene")) return;
        await ResourcePreloader.Instance.PreloadAsync("BattleScene", progress);
    }
    /// <summary>
    /// US4 T043: 卸载战斗预加载资源(所有战斗结束时调用)。
    /// </summary>
    public void UnloadBattleResources()
    {
        ResourcePreloader.Instance.UnloadConfig("BattleScene");
    }
    public void DestroyBattleField(BattleField battleField)
    {
        if (battleField == null)