From d5bb64b3141498af62c9a2400f763a1ffcd30ae6 Mon Sep 17 00:00:00 2001 From: ALEXTANG <574809918@qq.com> Date: Sun, 7 Apr 2024 15:33:45 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B5=84=E6=BA=90=E5=BC=82=E6=AD=A5=E5=8A=A0?= =?UTF-8?q?=E8=BD=BD=E4=BB=8E=E7=BC=93=E5=AD=98=E4=B8=AD=E5=BB=B6=E8=BF=9F?= =?UTF-8?q?=E5=88=86=E5=B8=A7=E5=A4=84=E7=90=86=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Modules/ResourceModule/ResourceManager.cs | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/UnityProject/Assets/TEngine/Runtime/Modules/ResourceModule/ResourceManager.cs b/UnityProject/Assets/TEngine/Runtime/Modules/ResourceModule/ResourceManager.cs index ca094062..39ed5471 100644 --- a/UnityProject/Assets/TEngine/Runtime/Modules/ResourceModule/ResourceManager.cs +++ b/UnityProject/Assets/TEngine/Runtime/Modules/ResourceModule/ResourceManager.cs @@ -14,6 +14,7 @@ namespace TEngine internal sealed partial class ResourceManager : ModuleImp, IResourceManager { #region Propreties + /// /// 资源包名称。 /// @@ -582,6 +583,7 @@ namespace TEngine AssetObject assetObject = m_AssetPool.Spawn(assetObjectKey); if (assetObject != null) { + await UniTask.Yield(); callback?.Invoke(assetObject.Target as T); return; } @@ -640,6 +642,7 @@ namespace TEngine AssetObject assetObject = m_AssetPool.Spawn(assetObjectKey); if (assetObject != null) { + await UniTask.Yield(); return assetObject.Target as T; } @@ -676,6 +679,7 @@ namespace TEngine AssetObject assetObject = m_AssetPool.Spawn(assetObjectKey); if (assetObject != null) { + await UniTask.Yield(); return AssetsReference.Instantiate(assetObject.Target as GameObject, parent, this).gameObject; } @@ -727,10 +731,13 @@ namespace TEngine await TryWaitingLoading(assetObjectKey); + float duration = Time.time; + AssetObject assetObject = m_AssetPool.Spawn(assetObjectKey); if (assetObject != null) { - loadAssetCallbacks.LoadAssetSuccessCallback(location, assetObject.Target, 0, userData); + await UniTask.Yield(); + loadAssetCallbacks.LoadAssetSuccessCallback(location, assetObject.Target, Time.time - duration, userData); return; } @@ -749,8 +756,6 @@ namespace TEngine throw new GameFrameworkException(errorMessage); } - - float duration = Time.time; AssetHandle handle = GetHandleAsync(location, assetType, packageName: packageName); @@ -814,10 +819,13 @@ namespace TEngine await TryWaitingLoading(assetObjectKey); + float duration = Time.time; + AssetObject assetObject = m_AssetPool.Spawn(assetObjectKey); if (assetObject != null) { - loadAssetCallbacks.LoadAssetSuccessCallback(location, assetObject.Target, 0, userData); + await UniTask.Yield(); + loadAssetCallbacks.LoadAssetSuccessCallback(location, assetObject.Target, Time.time - duration, userData); return; } @@ -837,8 +845,6 @@ namespace TEngine throw new GameFrameworkException(errorMessage); } - float duration = Time.time; - AssetHandle handle = GetHandleAsync(location, assetInfo.AssetType, packageName: packageName); if (loadAssetCallbacks.LoadAssetUpdateCallback != null)