From bc1cb6da854cb2e9144f10ed55330a537ecdca16 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 04 三月 2026 14:35:57 +0800
Subject: [PATCH] 466 h5版本 资源规则修改 打包修改(未完成 勿拉取)

---
 Main/System/Battle/BattleField/BattleField.cs |   64 ++++++-------------------------
 1 files changed, 13 insertions(+), 51 deletions(-)

diff --git a/Main/System/Battle/BattleField/BattleField.cs b/Main/System/Battle/BattleField/BattleField.cs
index a670582..04293c2 100644
--- a/Main/System/Battle/BattleField/BattleField.cs
+++ b/Main/System/Battle/BattleField/BattleField.cs
@@ -88,13 +88,6 @@
     {
         guid = _guid;
 
-        #pragma warning disable CS0618 // Obsolete 鈥� sync legacy constructor, use CreateAsync for new code
-        GameObject go = ResManager.Instance.LoadAsset<GameObject>("Battle/Prefabs", "BattleRootNode");
-        #pragma warning restore CS0618
-        GameObject battleRootNodeGO = GameObject.Instantiate(go);
-        battleRootNode = battleRootNodeGO.GetComponent<BattleRootNode>();
-        battleRootNodeGO.name = this.GetType().Name;
-
         battleObjMgr = new BattleObjMgr();
         battleEffectMgr = new BattleEffectMgr();
         battleTweenMgr = new BattleTweenMgr();
@@ -107,30 +100,13 @@
     /// <summary>
     /// US2: Static async factory method. Creates BattleField with async resource loading.
     /// </summary>
-    public static async UniTask<BattleField> CreateAsync(string _guid)
+    public async UniTask LoadRoot()
     {
-        var field = new BattleField(_guid, skipResourceLoad: true);
         GameObject go = await ResManager.Instance.LoadAssetAsync<GameObject>("Battle/Prefabs", "BattleRootNode");
         GameObject battleRootNodeGO = GameObject.Instantiate(go);
-        field.battleRootNode = battleRootNodeGO.GetComponent<BattleRootNode>();
-        battleRootNodeGO.name = field.GetType().Name;
-        return field;
+        battleRootNode = battleRootNodeGO.GetComponent<BattleRootNode>();
+        battleRootNodeGO.name = GetType().Name;
     }
-
-    /// <summary>
-    /// US2: Protected constructor without resource loading (for async factory).
-    /// </summary>
-    protected BattleField(string _guid, bool skipResourceLoad)
-    {
-        guid = _guid;
-        battleObjMgr = new BattleObjMgr();
-        battleEffectMgr = new BattleEffectMgr();
-        battleTweenMgr = new BattleTweenMgr();
-        recordPlayer = new RecordPlayer();
-        soundManager = new BattleSoundManager(this);
-        processingDeathObjIds = new HashSet<uint>();
-    }
-
     public void AddCastingSkill(long objID, SkillBase skill)
     {
         List<SkillBase> skillBases = null;
@@ -167,7 +143,7 @@
         return castingSkillDict.ContainsKey(objID);
     }
 
-    public virtual void Init(int _MapID, int _FuncLineID, JsonData _extendData,
+    public async virtual UniTask Init(int _MapID, int _FuncLineID, JsonData _extendData,
         List<TeamBase> _redTeamList, List<TeamBase> _blueTeamList, byte _turnMax)
     {
         SetData(_MapID, _FuncLineID, _extendData, _redTeamList, _blueTeamList, _turnMax);
@@ -177,15 +153,15 @@
 
         if (blueTeamList == null)
         {
-            battleObjMgr.Init(this, redTeamList[redTeamIndex], null);
+            await battleObjMgr.Init(this, redTeamList[redTeamIndex], null);
             HaveRest();
         }
         else
         {
-            battleObjMgr.Init(this, redTeamList[redTeamIndex], blueTeamList[blueTeamIndex]);
+            await battleObjMgr.Init(this, redTeamList[redTeamIndex], blueTeamList[blueTeamIndex]);
         }
 
-        LoadMap(MapID);
+        await LoadMap(MapID);
 
         SetBattleStartState();
         SetRootNodePosition();
@@ -235,7 +211,7 @@
 
     }
 
-    public virtual void Reload(int _MapID, int _FuncLineID, JsonData _extendData,
+    public async virtual UniTask Reload(int _MapID, int _FuncLineID, JsonData _extendData,
         List<TeamBase> _redTeamList, List<TeamBase> _blueTeamList, byte _turnMax)
     {
         SetData(_MapID, _FuncLineID, _extendData, _redTeamList, _blueTeamList, _turnMax);
@@ -245,15 +221,15 @@
         
         if (blueTeamList == null)
         {
-            battleObjMgr.Reload(this, redTeamList[redTeamIndex], null);
+            await battleObjMgr.Reload(this, redTeamList[redTeamIndex], null);
             HaveRest();
         }
         else
         {
-            battleObjMgr.Reload(this, redTeamList[redTeamIndex], blueTeamList[blueTeamIndex]);
+            await battleObjMgr.Reload(this, redTeamList[redTeamIndex], blueTeamList[blueTeamIndex]);
         }
 
-        LoadMap(MapID);
+        await LoadMap(MapID);
 
         SetBattleStartState();
 
@@ -327,22 +303,7 @@
         }
     }
 
-    protected virtual void LoadMap(int mapID)
-    {
-        BattleMapConfig battleMapConfig = BattleMapConfig.Get(mapID);
-        if (battleMapConfig != null)
-        {
-        #pragma warning disable CS0618 // Obsolete 鈥� sync legacy fallback, use LoadMapAsync
-            Texture texture = ResManager.Instance.LoadAsset<Texture>("Texture/FullScreenBg", battleMapConfig.MapBg);
-        #pragma warning restore CS0618
-            battleRootNode.SetBackground(texture);
-        }
-    }
-
-    /// <summary>
-    /// US2: Async map loading.
-    /// </summary>
-    protected virtual async UniTask LoadMapAsync(int mapID)
+    protected virtual async UniTask LoadMap(int mapID)
     {
         BattleMapConfig battleMapConfig = BattleMapConfig.Get(mapID);
         if (battleMapConfig != null)
@@ -352,6 +313,7 @@
         }
     }
 
+
     public void SetSpeedRatio(float ratio)
     {
         bool isChange = speedRatio != ratio;

--
Gitblit v1.8.0