|
|
@@ -455,18 +455,23 @@ namespace ET
|
|
|
|
|
|
string[] dependencies = GetSortedDependencies(assetBundleName);
|
|
|
//Log.Debug($"-----------dep load async start {assetBundleName} dep: {dependencies.ToList().ListToString()}");
|
|
|
+ using var tasts = ListComponent<ETTask>.Create();
|
|
|
+ async ETTask loadDependency(string dependency)
|
|
|
+ {
|
|
|
+ using (await CoroutineLockComponent.Instance.Wait(CoroutineLockType.Resources, dependency.GetHashCode()))
|
|
|
+ {
|
|
|
+ await this.LoadOneBundleAsync(dependency, isScene);
|
|
|
+ }
|
|
|
+ }
|
|
|
foreach (string dependency in dependencies)
|
|
|
{
|
|
|
if (string.IsNullOrEmpty(dependency))
|
|
|
{
|
|
|
continue;
|
|
|
}
|
|
|
-
|
|
|
- using (await CoroutineLockComponent.Instance.Wait(CoroutineLockType.Resources, dependency.GetHashCode()))
|
|
|
- {
|
|
|
- await this.LoadOneBundleAsync(dependency, isScene);
|
|
|
- }
|
|
|
+ tasts.List.Add(loadDependency(dependency));
|
|
|
}
|
|
|
+ await ETTaskHelper.WaitAll(tasts.List);
|
|
|
}
|
|
|
|
|
|
private async ETTask LoadOneBundleAsync(string assetBundleName, bool isScene)
|