From 3f2cd27c5dfb3b450245bf1a37fc1b3414031c7c Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 11 二月 2026 11:03:58 +0800
Subject: [PATCH] 小游戏适配 资源系统改造

---
 Main/System/Battle/BattleManager.cs |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

diff --git a/Main/System/Battle/BattleManager.cs b/Main/System/Battle/BattleManager.cs
index 1719158..b961f00 100644
--- a/Main/System/Battle/BattleManager.cs
+++ b/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)

--
Gitblit v1.8.0