异步更新

This commit is contained in:
2025-10-13 19:47:39 +08:00
parent 6271171ab4
commit 41d502b239
2 changed files with 103 additions and 87 deletions

View File

@@ -262,30 +262,29 @@ namespace Convention
public IEnumerator LoadAsAssetBundle(Action<float> progress, Action<AssetBundle> onSuccess, Action<string> onError = null)
{
yield return LoadAsBinaryAsync(
progress,
data =>
AssetBundleCreateRequest request = null;
yield return LoadAsBinaryAsync(x => progress(x * 0.5f), data => request = AssetBundle.LoadFromMemoryAsync(data), onError);
while (request.isDone == false)
{
progress(0.5f + request.progress * 0.5f);
}
try
{
AssetBundle bundle = request.assetBundle;
if (bundle != null)
{
try
{
AssetBundle bundle = AssetBundle.LoadFromMemory(data);
if (bundle != null)
{
cachedData = bundle;
onSuccess?.Invoke(bundle);
}
else
{
onError?.Invoke($"Failed to load AssetBundle from data.");
}
}
catch (Exception e)
{
onError?.Invoke($"Failed to load AssetBundle: {e.Message}");
}
},
onError
);
cachedData = bundle;
onSuccess?.Invoke(bundle);
}
else
{
onError?.Invoke($"Failed to load AssetBundle from data.");
}
}
catch (Exception e)
{
onError?.Invoke($"Failed to load AssetBundle: {e.Message}");
}
}
#endregion