Skip to content

Commit

Permalink
[KKS] Add CoroutineUtils.WaitForFinishCo(UniTask)
Browse files Browse the repository at this point in the history
  • Loading branch information
ManlyMarco committed Nov 10, 2022
1 parent a75b025 commit a40344d
Showing 1 changed file with 16 additions and 0 deletions.
16 changes: 16 additions & 0 deletions src/Shared.Core/Utilities/CoroutineUtils.cs
Original file line number Diff line number Diff line change
Expand Up @@ -257,5 +257,21 @@ public static IEnumerator StopCoOnQuit(this IEnumerator enumerator)
yield return enumerator.Current;
}
}

#if KKS
/// <summary>
/// Create a coroutine that waits until the task completes.
/// Use AppendCo to run code after the task has finished.
/// </summary>
public static IEnumerator WaitForFinishCo(this Cysharp.Threading.Tasks.UniTask uniTask)
{
var source = uniTask.source;
if (source == null) yield break;
while (source.UnsafeGetStatus() > Cysharp.Threading.Tasks.UniTaskStatus.Pending)
{
yield return null;
}
}
#endif
}
}

0 comments on commit a40344d

Please sign in to comment.