mirror of https://github.com/tuyoogame/YooAsset
AssetOperationHandle类新增便捷方法,便于链式编程
TextAsset asset; YooAssets.LoadAssetAsync<TextAsset>(name).WaitForAsyncOperationComplete().GetAssetObjet<TextAsset>(out asset).Release(); YooAssets.LoadAssetAsync<TextAsset>(name).Completed += handler => { handler.GetAssetObjet(out asset).Release(); };pull/17/head
parent
727d841d47
commit
1e39b1af6d
|
@ -49,21 +49,41 @@ namespace YooAsset
|
|||
return Provider.AssetObject;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取资源对象
|
||||
/// </summary>
|
||||
/// <typeparam name="TAsset"></typeparam>
|
||||
/// <param name="asset"></param>
|
||||
/// <returns></returns>
|
||||
public AssetOperationHandle GetAssetObjet<TAsset>(out TAsset asset) where TAsset : UnityEngine.Object
|
||||
{
|
||||
asset = AssetObject as TAsset;
|
||||
return this;
|
||||
}
|
||||
/// <summary>
|
||||
/// 等待异步执行完毕
|
||||
/// </summary>
|
||||
public void WaitForAsyncComplete()
|
||||
public AssetOperationHandle WaitForAsyncOperationComplete()
|
||||
{
|
||||
if (IsValid == false)
|
||||
return;
|
||||
return this;
|
||||
Provider.WaitForAsyncComplete();
|
||||
return this;
|
||||
}
|
||||
/// <summary>
|
||||
/// 等待异步执行完毕
|
||||
/// </summary>
|
||||
public void WaitForAsyncComplete()
|
||||
{
|
||||
if(IsValid == false)
|
||||
return;
|
||||
Provider.WaitForAsyncComplete();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 释放资源句柄
|
||||
/// </summary>
|
||||
public void Release()
|
||||
/// <summary>
|
||||
/// 释放资源句柄
|
||||
/// </summary>
|
||||
public void Release()
|
||||
{
|
||||
this.ReleaseInternal();
|
||||
}
|
||||
|
@ -109,8 +129,6 @@ namespace YooAsset
|
|||
{
|
||||
return InstantiateAsyncInternal(position, rotation, parent, true);
|
||||
}
|
||||
|
||||
|
||||
private GameObject InstantiateSyncInternal(Vector3 position, Quaternion rotation, Transform parent, bool setPositionRotation)
|
||||
{
|
||||
if (IsValid == false)
|
||||
|
|
Loading…
Reference in New Issue