Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System.Threading;
- using System.Threading.Tasks;
- public static class ADX2AddCueSheetToTask
- {
- public static Task<CriAtomCueSheet> ToTask(this CriAtomCueSheet cueSheet, CancellationToken ct)
- {
- var tcs = new TaskCompletionSource<CriAtomCueSheet>();
- if (ct != CancellationToken.None)
- {
- ct.Register(() => tcs.TrySetCanceled(ct));
- }
- Task.Run(() =>
- {
- while (cueSheet.loaderStatus == CriAtomExAcbLoader.Status.Loading)
- {
- Task.Yield();
- }
- tcs.TrySetResult(cueSheet);
- }, ct);
- return tcs.Task;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment