diff --git a/Assets/YooAsset/Runtime/AssetSystem/Handles/AssetOperationHandle.cs b/Assets/YooAsset/Runtime/AssetSystem/Handles/AssetOperationHandle.cs index 7083e3c..94c8b1a 100644 --- a/Assets/YooAsset/Runtime/AssetSystem/Handles/AssetOperationHandle.cs +++ b/Assets/YooAsset/Runtime/AssetSystem/Handles/AssetOperationHandle.cs @@ -49,21 +49,41 @@ namespace YooAsset return Provider.AssetObject; } } - + /// + /// 获取资源对象 + /// + /// + /// + /// + public AssetOperationHandle GetAssetObjet(out TAsset asset) where TAsset : UnityEngine.Object + { + asset = AssetObject as TAsset; + return this; + } /// /// 等待异步执行完毕 /// - public void WaitForAsyncComplete() + public AssetOperationHandle WaitForAsyncOperationComplete() { if (IsValid == false) - return; + return this; Provider.WaitForAsyncComplete(); + return this; } + /// + /// 等待异步执行完毕 + /// + public void WaitForAsyncComplete() + { + if(IsValid == false) + return; + Provider.WaitForAsyncComplete(); + } - /// - /// 释放资源句柄 - /// - public void Release() + /// + /// 释放资源句柄 + /// + 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) @@ -142,4 +160,4 @@ namespace YooAsset return operation; } } -} \ No newline at end of file +}