This commit is contained in:
hevinci
2023-10-26 17:11:56 +08:00
parent 64681db027
commit 460ea091bd
14 changed files with 115 additions and 73 deletions
@@ -31,7 +31,7 @@ namespace YooAsset
/// <summary>
/// 所属资源系统
/// </summary>
public ResourceManager Impl { private set; get; }
public ResourceManager ResourceMgr { private set; get; }
/// <summary>
/// 资源信息
@@ -53,6 +53,11 @@ namespace YooAsset
/// </summary>
public UnityEngine.SceneManagement.Scene SceneObject { protected set; get; }
/// <summary>
/// 加载的场景名称
/// </summary>
public string SceneName { protected set; get; }
/// <summary>
/// 原生文件路径
/// </summary>
@@ -103,21 +108,21 @@ namespace YooAsset
private readonly List<HandleBase> _handles = new List<HandleBase>();
public ProviderBase(ResourceManager impl, string providerGUID, uint providerPriority, AssetInfo assetInfo)
public ProviderBase(ResourceManager manager, string providerGUID, uint providerPriority, AssetInfo assetInfo)
{
Impl = impl;
ResourceMgr = manager;
ProviderGUID = providerGUID;
ProviderPriority = providerPriority;
MainAssetInfo = assetInfo;
// 创建资源包加载器
if (impl != null)
if (manager != null)
{
OwnerBundle = impl.CreateOwnerAssetBundleLoader(assetInfo);
OwnerBundle = manager.CreateOwnerAssetBundleLoader(assetInfo);
OwnerBundle.Reference();
OwnerBundle.AddProvider(this);
var dependList = impl.CreateDependAssetBundleLoaders(assetInfo);
var dependList = manager.CreateDependAssetBundleLoaders(assetInfo);
DependBundles = new DependAssetBundles(dependList);
DependBundles.Reference();
}
@@ -128,14 +133,6 @@ namespace YooAsset
/// </summary>
public abstract void Update();
/// <summary>
/// 排序接口实现方法
/// </summary>
public int CompareTo(ProviderBase other)
{
return other.ProviderPriority.CompareTo(this.ProviderPriority);
}
/// <summary>
/// 销毁资源提供者
/// </summary>
@@ -281,6 +278,13 @@ namespace YooAsset
}
}
#region 排序接口实现
public int CompareTo(ProviderBase other)
{
return other.ProviderPriority.CompareTo(this.ProviderPriority);
}
#endregion
#region 异步编程相关
private TaskCompletionSource<object> _taskCompletionSource;
protected void InvokeCompletion()