mirror of
https://github.com/Alex-Rachel/TEngine.git
synced 2025-08-14 16:51:28 +00:00
[+] UniTask External YooAsset、Dotween、TextMeshPro
This commit is contained in:
@@ -383,11 +383,7 @@ namespace TEngine
|
|||||||
|
|
||||||
Reference(handle);
|
Reference(handle);
|
||||||
|
|
||||||
UniTask uniTask = handle.ToUniTask();
|
bool cancelOrFailed = await handle.ToUniTask().AttachExternalCancellation(cancellationToken).SuppressCancellationThrow();
|
||||||
|
|
||||||
uniTask.AttachExternalCancellation(cancellationToken);
|
|
||||||
|
|
||||||
bool cancelOrFailed = await uniTask.SuppressCancellationThrow();
|
|
||||||
|
|
||||||
if (cancelOrFailed)
|
if (cancelOrFailed)
|
||||||
{
|
{
|
||||||
|
@@ -300,11 +300,7 @@ namespace TEngine
|
|||||||
|
|
||||||
Reference(handle);
|
Reference(handle);
|
||||||
|
|
||||||
UniTask uniTask = handle.ToUniTask();
|
bool cancelOrFailed = await handle.ToUniTask().AttachExternalCancellation(cancellationToken).SuppressCancellationThrow();
|
||||||
|
|
||||||
uniTask.AttachExternalCancellation(cancellationToken);
|
|
||||||
|
|
||||||
bool cancelOrFailed = await uniTask.SuppressCancellationThrow();
|
|
||||||
|
|
||||||
if (cancelOrFailed)
|
if (cancelOrFailed)
|
||||||
{
|
{
|
||||||
|
@@ -421,14 +421,20 @@ namespace TEngine
|
|||||||
public async UniTask<T> LoadAssetAsync<T>(string assetName, CancellationToken cancellationToken) where T : Object
|
public async UniTask<T> LoadAssetAsync<T>(string assetName, CancellationToken cancellationToken) where T : Object
|
||||||
{
|
{
|
||||||
AssetOperationHandle handle = LoadAssetAsyncHandle<T>(assetName);
|
AssetOperationHandle handle = LoadAssetAsyncHandle<T>(assetName);
|
||||||
UniTask uniTask = handle.ToUniTask();
|
|
||||||
uniTask.AttachExternalCancellation(cancellationToken);
|
bool cancelOrFailed = await handle.ToUniTask().AttachExternalCancellation(cancellationToken).SuppressCancellationThrow();
|
||||||
await uniTask;
|
|
||||||
|
if (cancelOrFailed)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
if (typeof(T) == typeof(GameObject))
|
if (typeof(T) == typeof(GameObject))
|
||||||
{
|
{
|
||||||
GameObject ret = handle.InstantiateSync();
|
GameObject ret = handle.InstantiateSync();
|
||||||
|
|
||||||
AssetReference.BindAssetReference(ret, handle, assetName);
|
AssetReference.BindAssetReference(ret, handle, assetName);
|
||||||
|
|
||||||
return ret as T;
|
return ret as T;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -446,10 +452,16 @@ namespace TEngine
|
|||||||
public async UniTask<GameObject> LoadGameObjectAsync(string assetName, CancellationToken cancellationToken)
|
public async UniTask<GameObject> LoadGameObjectAsync(string assetName, CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
AssetOperationHandle handle = LoadAssetAsyncHandle<GameObject>(assetName);
|
AssetOperationHandle handle = LoadAssetAsyncHandle<GameObject>(assetName);
|
||||||
UniTask uniTask = handle.ToUniTask();
|
|
||||||
uniTask.AttachExternalCancellation(cancellationToken);
|
bool cancelOrFailed = await handle.ToUniTask().AttachExternalCancellation(cancellationToken).SuppressCancellationThrow();
|
||||||
await uniTask;
|
|
||||||
|
if (cancelOrFailed)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
GameObject ret = handle.InstantiateSync();
|
GameObject ret = handle.InstantiateSync();
|
||||||
|
|
||||||
AssetReference.BindAssetReference(ret, handle, assetName);
|
AssetReference.BindAssetReference(ret, handle, assetName);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
Reference in New Issue
Block a user