// -------------------------------------------------------------------------------------------------------------------- // // Copyright (c) VRMADA, All rights reserved. // // -------------------------------------------------------------------------------------------------------------------- using System.Threading; using System.Threading.Tasks; using UltimateXR.Extensions.System.Threading; using UnityEngine; namespace UltimateXR.Extensions.Unity.IO { /// /// extensions. /// public static class AsyncOperationExt { #region Public Methods /// /// Creates an awaitable that finishes when the given finished. /// /// Unity asynchronous operation object /// Optional cancellation token, to cancel the operation /// Awaitable returning the caller object public static async Task Wait(this AsyncOperation self, CancellationToken ct = default) { await TaskExt.WaitUntil(() => self.isDone, ct); return self; } #endregion } }