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