Class Coroutines
A class providing coroutine helpers.
Inherited Members
Namespace: IPA.Utilities.Async
Assembly: IPA.Loader.dll
Syntax
public static class Coroutines
Methods
| Improve this Doc View SourceAsTask(IEnumerator)
Binds a Task to a Unity coroutine, capturing exceptions as well as the coroutine call stack.
Declaration
public static Task AsTask(IEnumerator coroutine)
Parameters
| Type | Name | Description |
|---|---|---|
| IEnumerator | coroutine | the coroutine to bind to a task |
Returns
| Type | Description |
|---|---|
| Task | a Task that completes when |
Remarks
This may be called off of the Unity main thread. If it is, the coroutine start will be scheduled using the default UnityMainThreadTaskScheduler and will be run on the main thread as required by Unity.
Unity provides a handful of coroutine helpers that are not IEnumerables. Most of these are not terribly helpful on their own, however UnityEngine.WaitForSeconds may be. Instead, prefer to use the typical .NET Wait(TimeSpan) or similar overloads, or use UnityEngine.WaitForSecondsRealtime.
WaitForTask(Task)
Stalls the coroutine until task completes, faults, or is canceled.
Declaration
public static IEnumerator WaitForTask(Task task)
Parameters
| Type | Name | Description |
|---|---|---|
| Task | task | the Task to wait for |
Returns
| Type | Description |
|---|---|
| IEnumerator | a coroutine waiting for the given task |
WaitForTask(Task, Boolean)
Stalls the coroutine until task completes, faults, or is canceled.
Declaration
public static IEnumerator WaitForTask(Task task, bool throwOnFault = false)
Parameters
| Type | Name | Description |
|---|---|---|
| Task | task | the Task to wait for |
| Boolean | throwOnFault | whether or not to throw if the task faulted |
Returns
| Type | Description |
|---|---|
| IEnumerator | a coroutine waiting for the given task |