using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Threading; using Cysharp.Threading.Tasks; namespace BITKit { public static partial class TaskHelper { public static async Task WaitUntil(Func func) { try { await WaitUntil(func, BITApp.CancellationTokenSource.Token); } catch (System.Exception) { } } public static async Task WaitUntil(Func func, CancellationToken cancelToken) { while (func is not null && func() is false) { cancelToken.ThrowIfCancellationRequested(); await Task.Delay(64); } } } }