This commit is contained in:
2025-04-11 11:20:17 +08:00
parent 5bd1818a88
commit bfe42c9860
6 changed files with 3 additions and 125 deletions

View File

@@ -1,67 +0,0 @@
#pragma warning disable CS1591 // Missing XML comment for publicly visible type or member
using System;
using System.Runtime.CompilerServices;
using System.Threading;
using System.Threading.Tasks;
using UnityEngine;
#if ENABLE_UNITYWEBREQUEST && (!UNITY_2019_1_OR_NEWER || UNITASK_WEBREQUEST_SUPPORT)
using UnityEngine.Networking;
#endif
namespace Stary.Evo
{
public static partial class UnityAsyncExtensions
{
#if !UNITY_2023_1_OR_NEWER
// from Unity2023.1.0a15, AsyncOperationAwaitableExtensions.GetAwaiter is defined in UnityEngine.
public static AsyncOperationAwaiter GetAwaiter(this AsyncOperation asyncOperation)
{
return new AsyncOperationAwaiter(asyncOperation);
}
#endif
public struct AsyncOperationAwaiter : ICriticalNotifyCompletion
{
AsyncOperation asyncOperation;
Action<AsyncOperation> continuationAction;
public AsyncOperationAwaiter(AsyncOperation asyncOperation)
{
this.asyncOperation = asyncOperation;
this.continuationAction = null;
}
public bool IsCompleted => asyncOperation.isDone;
public void GetResult()
{
if (continuationAction != null)
{
asyncOperation.completed -= continuationAction;
continuationAction = null;
asyncOperation = null;
}
else
{
asyncOperation = null;
}
}
public void OnCompleted(Action continuation)
{
UnsafeOnCompleted(continuation);
}
public void UnsafeOnCompleted(Action continuation)
{
}
}
}
}

View File

@@ -1,3 +0,0 @@
fileFormatVersion: 2
guid: a42a4edb452e470b87e698b7d7b7db4a
timeCreated: 1743403227