From bc1cb6da854cb2e9144f10ed55330a537ecdca16 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 04 三月 2026 14:35:57 +0800
Subject: [PATCH] 466 h5版本 资源规则修改 打包修改(未完成 勿拉取)
---
Main/Core/Frame/UIFrameMgr.cs | 41 ++++++++++++++++++++++++++++++-----------
1 files changed, 30 insertions(+), 11 deletions(-)
diff --git a/Main/Core/Frame/UIFrameMgr.cs b/Main/Core/Frame/UIFrameMgr.cs
index df23859..841ec8e 100644
--- a/Main/Core/Frame/UIFrameMgr.cs
+++ b/Main/Core/Frame/UIFrameMgr.cs
@@ -1,5 +1,6 @@
锘匡豢using System.Collections;
using System.Collections.Generic;
+using Cysharp.Threading.Tasks;
using UnityEngine;
/// <summary>
@@ -51,25 +52,43 @@
{
if (allFrameDic.ContainsKey(cfg.name))
return;
+
+ List<UniTask> uniTasks = new List<UniTask>();
- List<Sprite> spriteList = new List<Sprite>();
-
+ List<Sprite> spriteList = new List<Sprite>(new Sprite[cfg.frameCnt]);
for (int i = 1; i <= cfg.frameCnt; i++)
{
+ int index = i;
string spritePath = "Sprite/" + cfg.folder;
string spriteName = StringUtility.Concat(cfg.name, "_", i.ToString());
-
- Sprite sprite = ResManager.Instance.LoadAsset<Sprite>(spritePath, spriteName);
- if (sprite != null)
+
+ var task = ResManager.Instance.LoadAssetAsync<Sprite>(spritePath, spriteName).ContinueWith(sprite =>
{
- spriteList.Add(sprite);
- }
+ if (sprite != null)
+ {
+ spriteList[index - 1] = sprite;
+ }
+ else
+ {
+ Debug.LogError($"鍔犺浇甯у姩鐢昏祫婧愬け璐�: {spritePath}/{spriteName}");
+ }
+ });
+
+ uniTasks.Add(task);
}
-
- if (spriteList.Count > 0)
+
+ UniTask.WhenAll(uniTasks).ContinueWith(() =>
{
- allFrameDic.Add(cfg.name, spriteList);
- }
+ if (this == null) // 妫�鏌ョ鐞嗗櫒鏄惁宸茶閿�姣�
+ return;
+
+ if (spriteList.Count > 0)
+ {
+ allFrameDic.Add(cfg.name, spriteList);
+ }
+ }).Forget();
+
+
}
/// <summary>
--
Gitblit v1.8.0