mirror of
https://github.com/tuyoogame/YooAsset.git
synced 2026-05-27 11:10:11 +00:00
update resource manager
所有异步加载方法增加权重参数。
This commit is contained in:
@@ -548,7 +548,7 @@ namespace YooAsset
|
||||
public RawFileHandle LoadRawFileSync(AssetInfo assetInfo)
|
||||
{
|
||||
DebugCheckInitialize();
|
||||
return LoadRawFileInternal(assetInfo, true);
|
||||
return LoadRawFileInternal(assetInfo, true, 0);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -559,35 +559,35 @@ namespace YooAsset
|
||||
{
|
||||
DebugCheckInitialize();
|
||||
AssetInfo assetInfo = ConvertLocationToAssetInfo(location, null);
|
||||
return LoadRawFileInternal(assetInfo, true);
|
||||
return LoadRawFileInternal(assetInfo, true, 0);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 异步加载原生文件
|
||||
/// </summary>
|
||||
/// <param name="assetInfo">资源信息</param>
|
||||
public RawFileHandle LoadRawFileAsync(AssetInfo assetInfo)
|
||||
public RawFileHandle LoadRawFileAsync(AssetInfo assetInfo, uint priority = 0)
|
||||
{
|
||||
DebugCheckInitialize();
|
||||
return LoadRawFileInternal(assetInfo, false);
|
||||
return LoadRawFileInternal(assetInfo, false, priority);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 异步加载原生文件
|
||||
/// </summary>
|
||||
/// <param name="location">资源的定位地址</param>
|
||||
public RawFileHandle LoadRawFileAsync(string location)
|
||||
public RawFileHandle LoadRawFileAsync(string location, uint priority = 0)
|
||||
{
|
||||
DebugCheckInitialize();
|
||||
AssetInfo assetInfo = ConvertLocationToAssetInfo(location, null);
|
||||
return LoadRawFileInternal(assetInfo, false);
|
||||
return LoadRawFileInternal(assetInfo, false, priority);
|
||||
}
|
||||
|
||||
|
||||
private RawFileHandle LoadRawFileInternal(AssetInfo assetInfo, bool waitForAsyncComplete)
|
||||
private RawFileHandle LoadRawFileInternal(AssetInfo assetInfo, bool waitForAsyncComplete, uint priority)
|
||||
{
|
||||
DebugCheckRawFileLoadMethod(nameof(LoadRawFileAsync));
|
||||
var handle = _resourceMgr.LoadRawFileAsync(assetInfo);
|
||||
var handle = _resourceMgr.LoadRawFileAsync(assetInfo, priority);
|
||||
if (waitForAsyncComplete)
|
||||
handle.WaitForAsyncComplete();
|
||||
return handle;
|
||||
@@ -602,7 +602,7 @@ namespace YooAsset
|
||||
/// <param name="sceneMode">场景加载模式</param>
|
||||
/// <param name="suspendLoad">场景加载到90%自动挂起</param>
|
||||
/// <param name="priority">优先级</param>
|
||||
public SceneHandle LoadSceneAsync(string location, LoadSceneMode sceneMode = LoadSceneMode.Single, bool suspendLoad = false, int priority = 100)
|
||||
public SceneHandle LoadSceneAsync(string location, LoadSceneMode sceneMode = LoadSceneMode.Single, bool suspendLoad = false, uint priority = 100)
|
||||
{
|
||||
DebugCheckInitialize();
|
||||
AssetInfo assetInfo = ConvertLocationToAssetInfo(location, null);
|
||||
@@ -617,7 +617,7 @@ namespace YooAsset
|
||||
/// <param name="sceneMode">场景加载模式</param>
|
||||
/// <param name="suspendLoad">场景加载到90%自动挂起</param>
|
||||
/// <param name="priority">优先级</param>
|
||||
public SceneHandle LoadSceneAsync(AssetInfo assetInfo, LoadSceneMode sceneMode = LoadSceneMode.Single, bool suspendLoad = false, int priority = 100)
|
||||
public SceneHandle LoadSceneAsync(AssetInfo assetInfo, LoadSceneMode sceneMode = LoadSceneMode.Single, bool suspendLoad = false, uint priority = 100)
|
||||
{
|
||||
DebugCheckInitialize();
|
||||
var handle = _resourceMgr.LoadSceneAsync(assetInfo, sceneMode, suspendLoad, priority);
|
||||
@@ -633,7 +633,7 @@ namespace YooAsset
|
||||
public AssetHandle LoadAssetSync(AssetInfo assetInfo)
|
||||
{
|
||||
DebugCheckInitialize();
|
||||
return LoadAssetInternal(assetInfo, true);
|
||||
return LoadAssetInternal(assetInfo, true, 0);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -645,7 +645,7 @@ namespace YooAsset
|
||||
{
|
||||
DebugCheckInitialize();
|
||||
AssetInfo assetInfo = ConvertLocationToAssetInfo(location, typeof(TObject));
|
||||
return LoadAssetInternal(assetInfo, true);
|
||||
return LoadAssetInternal(assetInfo, true, 0);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -657,7 +657,7 @@ namespace YooAsset
|
||||
{
|
||||
DebugCheckInitialize();
|
||||
AssetInfo assetInfo = ConvertLocationToAssetInfo(location, type);
|
||||
return LoadAssetInternal(assetInfo, true);
|
||||
return LoadAssetInternal(assetInfo, true, 0);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -669,7 +669,7 @@ namespace YooAsset
|
||||
DebugCheckInitialize();
|
||||
Type type = typeof(UnityEngine.Object);
|
||||
AssetInfo assetInfo = ConvertLocationToAssetInfo(location, type);
|
||||
return LoadAssetInternal(assetInfo, true);
|
||||
return LoadAssetInternal(assetInfo, true, 0);
|
||||
}
|
||||
|
||||
|
||||
@@ -677,10 +677,10 @@ namespace YooAsset
|
||||
/// 异步加载资源对象
|
||||
/// </summary>
|
||||
/// <param name="assetInfo">资源信息</param>
|
||||
public AssetHandle LoadAssetAsync(AssetInfo assetInfo)
|
||||
public AssetHandle LoadAssetAsync(AssetInfo assetInfo, uint priority = 0)
|
||||
{
|
||||
DebugCheckInitialize();
|
||||
return LoadAssetInternal(assetInfo, false);
|
||||
return LoadAssetInternal(assetInfo, false, priority);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -688,11 +688,11 @@ namespace YooAsset
|
||||
/// </summary>
|
||||
/// <typeparam name="TObject">资源类型</typeparam>
|
||||
/// <param name="location">资源的定位地址</param>
|
||||
public AssetHandle LoadAssetAsync<TObject>(string location) where TObject : UnityEngine.Object
|
||||
public AssetHandle LoadAssetAsync<TObject>(string location, uint priority = 0) where TObject : UnityEngine.Object
|
||||
{
|
||||
DebugCheckInitialize();
|
||||
AssetInfo assetInfo = ConvertLocationToAssetInfo(location, typeof(TObject));
|
||||
return LoadAssetInternal(assetInfo, false);
|
||||
return LoadAssetInternal(assetInfo, false, priority);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -700,31 +700,31 @@ namespace YooAsset
|
||||
/// </summary>
|
||||
/// <param name="location">资源的定位地址</param>
|
||||
/// <param name="type">资源类型</param>
|
||||
public AssetHandle LoadAssetAsync(string location, System.Type type)
|
||||
public AssetHandle LoadAssetAsync(string location, System.Type type, uint priority = 0)
|
||||
{
|
||||
DebugCheckInitialize();
|
||||
AssetInfo assetInfo = ConvertLocationToAssetInfo(location, type);
|
||||
return LoadAssetInternal(assetInfo, false);
|
||||
return LoadAssetInternal(assetInfo, false, priority);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 异步加载资源对象
|
||||
/// </summary>
|
||||
/// <param name="location">资源的定位地址</param>
|
||||
public AssetHandle LoadAssetAsync(string location)
|
||||
public AssetHandle LoadAssetAsync(string location, uint priority = 0)
|
||||
{
|
||||
DebugCheckInitialize();
|
||||
Type type = typeof(UnityEngine.Object);
|
||||
AssetInfo assetInfo = ConvertLocationToAssetInfo(location, type);
|
||||
return LoadAssetInternal(assetInfo, false);
|
||||
return LoadAssetInternal(assetInfo, false, priority);
|
||||
}
|
||||
|
||||
|
||||
private AssetHandle LoadAssetInternal(AssetInfo assetInfo, bool waitForAsyncComplete)
|
||||
private AssetHandle LoadAssetInternal(AssetInfo assetInfo, bool waitForAsyncComplete, uint priority)
|
||||
{
|
||||
DebugCheckAssetLoadMethod(nameof(LoadAssetAsync));
|
||||
DebugCheckAssetLoadType(assetInfo.AssetType);
|
||||
var handle = _resourceMgr.LoadAssetAsync(assetInfo);
|
||||
var handle = _resourceMgr.LoadAssetAsync(assetInfo, priority);
|
||||
if (waitForAsyncComplete)
|
||||
handle.WaitForAsyncComplete();
|
||||
return handle;
|
||||
@@ -739,7 +739,7 @@ namespace YooAsset
|
||||
public SubAssetsHandle LoadSubAssetsSync(AssetInfo assetInfo)
|
||||
{
|
||||
DebugCheckInitialize();
|
||||
return LoadSubAssetsInternal(assetInfo, true);
|
||||
return LoadSubAssetsInternal(assetInfo, true, 0);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -751,7 +751,7 @@ namespace YooAsset
|
||||
{
|
||||
DebugCheckInitialize();
|
||||
AssetInfo assetInfo = ConvertLocationToAssetInfo(location, typeof(TObject));
|
||||
return LoadSubAssetsInternal(assetInfo, true);
|
||||
return LoadSubAssetsInternal(assetInfo, true, 0);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -763,7 +763,7 @@ namespace YooAsset
|
||||
{
|
||||
DebugCheckInitialize();
|
||||
AssetInfo assetInfo = ConvertLocationToAssetInfo(location, type);
|
||||
return LoadSubAssetsInternal(assetInfo, true);
|
||||
return LoadSubAssetsInternal(assetInfo, true, 0);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -775,7 +775,7 @@ namespace YooAsset
|
||||
DebugCheckInitialize();
|
||||
Type type = typeof(UnityEngine.Object);
|
||||
AssetInfo assetInfo = ConvertLocationToAssetInfo(location, type);
|
||||
return LoadSubAssetsInternal(assetInfo, true);
|
||||
return LoadSubAssetsInternal(assetInfo, true, 0);
|
||||
}
|
||||
|
||||
|
||||
@@ -783,10 +783,10 @@ namespace YooAsset
|
||||
/// 异步加载子资源对象
|
||||
/// </summary>
|
||||
/// <param name="assetInfo">资源信息</param>
|
||||
public SubAssetsHandle LoadSubAssetsAsync(AssetInfo assetInfo)
|
||||
public SubAssetsHandle LoadSubAssetsAsync(AssetInfo assetInfo, uint priority = 0)
|
||||
{
|
||||
DebugCheckInitialize();
|
||||
return LoadSubAssetsInternal(assetInfo, false);
|
||||
return LoadSubAssetsInternal(assetInfo, false, priority);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -794,11 +794,11 @@ namespace YooAsset
|
||||
/// </summary>
|
||||
/// <typeparam name="TObject">资源类型</typeparam>
|
||||
/// <param name="location">资源的定位地址</param>
|
||||
public SubAssetsHandle LoadSubAssetsAsync<TObject>(string location) where TObject : UnityEngine.Object
|
||||
public SubAssetsHandle LoadSubAssetsAsync<TObject>(string location, uint priority = 0) where TObject : UnityEngine.Object
|
||||
{
|
||||
DebugCheckInitialize();
|
||||
AssetInfo assetInfo = ConvertLocationToAssetInfo(location, typeof(TObject));
|
||||
return LoadSubAssetsInternal(assetInfo, false);
|
||||
return LoadSubAssetsInternal(assetInfo, false, priority);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -806,31 +806,31 @@ namespace YooAsset
|
||||
/// </summary>
|
||||
/// <param name="location">资源的定位地址</param>
|
||||
/// <param name="type">子对象类型</param>
|
||||
public SubAssetsHandle LoadSubAssetsAsync(string location, System.Type type)
|
||||
public SubAssetsHandle LoadSubAssetsAsync(string location, System.Type type, uint priority = 0)
|
||||
{
|
||||
DebugCheckInitialize();
|
||||
AssetInfo assetInfo = ConvertLocationToAssetInfo(location, type);
|
||||
return LoadSubAssetsInternal(assetInfo, false);
|
||||
return LoadSubAssetsInternal(assetInfo, false, priority);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 异步加载子资源对象
|
||||
/// </summary>
|
||||
/// <param name="location">资源的定位地址</param>
|
||||
public SubAssetsHandle LoadSubAssetsAsync(string location)
|
||||
public SubAssetsHandle LoadSubAssetsAsync(string location, uint priority = 0)
|
||||
{
|
||||
DebugCheckInitialize();
|
||||
Type type = typeof(UnityEngine.Object);
|
||||
AssetInfo assetInfo = ConvertLocationToAssetInfo(location, type);
|
||||
return LoadSubAssetsInternal(assetInfo, false);
|
||||
return LoadSubAssetsInternal(assetInfo, false, priority);
|
||||
}
|
||||
|
||||
|
||||
private SubAssetsHandle LoadSubAssetsInternal(AssetInfo assetInfo, bool waitForAsyncComplete)
|
||||
private SubAssetsHandle LoadSubAssetsInternal(AssetInfo assetInfo, bool waitForAsyncComplete, uint priority)
|
||||
{
|
||||
DebugCheckAssetLoadMethod(nameof(LoadSubAssetsAsync));
|
||||
DebugCheckAssetLoadType(assetInfo.AssetType);
|
||||
var handle = _resourceMgr.LoadSubAssetsAsync(assetInfo);
|
||||
var handle = _resourceMgr.LoadSubAssetsAsync(assetInfo, priority);
|
||||
if (waitForAsyncComplete)
|
||||
handle.WaitForAsyncComplete();
|
||||
return handle;
|
||||
@@ -845,7 +845,7 @@ namespace YooAsset
|
||||
public AllAssetsHandle LoadAllAssetsSync(AssetInfo assetInfo)
|
||||
{
|
||||
DebugCheckInitialize();
|
||||
return LoadAllAssetsInternal(assetInfo, true);
|
||||
return LoadAllAssetsInternal(assetInfo, true, 0);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -857,7 +857,7 @@ namespace YooAsset
|
||||
{
|
||||
DebugCheckInitialize();
|
||||
AssetInfo assetInfo = ConvertLocationToAssetInfo(location, typeof(TObject));
|
||||
return LoadAllAssetsInternal(assetInfo, true);
|
||||
return LoadAllAssetsInternal(assetInfo, true, 0);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -869,7 +869,7 @@ namespace YooAsset
|
||||
{
|
||||
DebugCheckInitialize();
|
||||
AssetInfo assetInfo = ConvertLocationToAssetInfo(location, type);
|
||||
return LoadAllAssetsInternal(assetInfo, true);
|
||||
return LoadAllAssetsInternal(assetInfo, true, 0);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -881,7 +881,7 @@ namespace YooAsset
|
||||
DebugCheckInitialize();
|
||||
Type type = typeof(UnityEngine.Object);
|
||||
AssetInfo assetInfo = ConvertLocationToAssetInfo(location, type);
|
||||
return LoadAllAssetsInternal(assetInfo, true);
|
||||
return LoadAllAssetsInternal(assetInfo, true, 0);
|
||||
}
|
||||
|
||||
|
||||
@@ -889,10 +889,10 @@ namespace YooAsset
|
||||
/// 异步加载资源包内所有资源对象
|
||||
/// </summary>
|
||||
/// <param name="assetInfo">资源信息</param>
|
||||
public AllAssetsHandle LoadAllAssetsAsync(AssetInfo assetInfo)
|
||||
public AllAssetsHandle LoadAllAssetsAsync(AssetInfo assetInfo, uint priority = 0)
|
||||
{
|
||||
DebugCheckInitialize();
|
||||
return LoadAllAssetsInternal(assetInfo, false);
|
||||
return LoadAllAssetsInternal(assetInfo, false, priority);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -900,11 +900,11 @@ namespace YooAsset
|
||||
/// </summary>
|
||||
/// <typeparam name="TObject">资源类型</typeparam>
|
||||
/// <param name="location">资源的定位地址</param>
|
||||
public AllAssetsHandle LoadAllAssetsAsync<TObject>(string location) where TObject : UnityEngine.Object
|
||||
public AllAssetsHandle LoadAllAssetsAsync<TObject>(string location, uint priority = 0) where TObject : UnityEngine.Object
|
||||
{
|
||||
DebugCheckInitialize();
|
||||
AssetInfo assetInfo = ConvertLocationToAssetInfo(location, typeof(TObject));
|
||||
return LoadAllAssetsInternal(assetInfo, false);
|
||||
return LoadAllAssetsInternal(assetInfo, false, priority);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -912,31 +912,31 @@ namespace YooAsset
|
||||
/// </summary>
|
||||
/// <param name="location">资源的定位地址</param>
|
||||
/// <param name="type">子对象类型</param>
|
||||
public AllAssetsHandle LoadAllAssetsAsync(string location, System.Type type)
|
||||
public AllAssetsHandle LoadAllAssetsAsync(string location, System.Type type, uint priority = 0)
|
||||
{
|
||||
DebugCheckInitialize();
|
||||
AssetInfo assetInfo = ConvertLocationToAssetInfo(location, type);
|
||||
return LoadAllAssetsInternal(assetInfo, false);
|
||||
return LoadAllAssetsInternal(assetInfo, false, priority);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 异步加载资源包内所有资源对象
|
||||
/// </summary>
|
||||
/// <param name="location">资源的定位地址</param>
|
||||
public AllAssetsHandle LoadAllAssetsAsync(string location)
|
||||
public AllAssetsHandle LoadAllAssetsAsync(string location, uint priority = 0)
|
||||
{
|
||||
DebugCheckInitialize();
|
||||
Type type = typeof(UnityEngine.Object);
|
||||
AssetInfo assetInfo = ConvertLocationToAssetInfo(location, type);
|
||||
return LoadAllAssetsInternal(assetInfo, false);
|
||||
return LoadAllAssetsInternal(assetInfo, false, priority);
|
||||
}
|
||||
|
||||
|
||||
private AllAssetsHandle LoadAllAssetsInternal(AssetInfo assetInfo, bool waitForAsyncComplete)
|
||||
private AllAssetsHandle LoadAllAssetsInternal(AssetInfo assetInfo, bool waitForAsyncComplete, uint priority)
|
||||
{
|
||||
DebugCheckAssetLoadMethod(nameof(LoadAllAssetsAsync));
|
||||
DebugCheckAssetLoadType(assetInfo.AssetType);
|
||||
var handle = _resourceMgr.LoadAllAssetsAsync(assetInfo);
|
||||
var handle = _resourceMgr.LoadAllAssetsAsync(assetInfo, priority);
|
||||
if (waitForAsyncComplete)
|
||||
handle.WaitForAsyncComplete();
|
||||
return handle;
|
||||
@@ -1158,6 +1158,11 @@ namespace YooAsset
|
||||
if (type == null)
|
||||
return;
|
||||
|
||||
if (typeof(UnityEngine.Behaviour).IsAssignableFrom(type))
|
||||
{
|
||||
throw new Exception($"Load asset type is invalid : {type.FullName} !");
|
||||
}
|
||||
|
||||
if (typeof(UnityEngine.Object).IsAssignableFrom(type) == false)
|
||||
{
|
||||
throw new Exception($"Load asset type is invalid : {type.FullName} !");
|
||||
|
||||
Reference in New Issue
Block a user