public static IEnumerator ReturnVoid(SimpleCoroutineAwaiter awaiter, object instruction) { // For simple instructions we assume that they don't throw exceptions yield return(instruction); awaiter.Complete(null); }
public static IEnumerator ResourceRequest( SimpleCoroutineAwaiter <Object> awaiter, ResourceRequest instruction) { yield return(instruction); awaiter.Complete(instruction.asset, null); }
public static SimpleCoroutineAwaiter <T> GetAwaiter <T>(this IEnumerator <T> coroutine) { var awaiter = new SimpleCoroutineAwaiter <T>(); RunOnUnityScheduler(() => TaskDelegator.Instance.StartCoroutine(new CoroutineWrapper <T>(coroutine, awaiter).Run())); return(awaiter); }
public static SimpleCoroutineAwaiter <UnityEngine.Object> GetAwaiter(this AssetBundleRequest instruction) { var awaiter = new SimpleCoroutineAwaiter <UnityEngine.Object>(); RunOnUnityScheduler(() => TaskDelegator.Instance.StartCoroutine(AssetBundleRequest(awaiter, instruction))); return(awaiter); }
#pragma warning restore 618 private static SimpleCoroutineAwaiter GetAwaiterReturnVoid(object instruction) { var awaiter = new SimpleCoroutineAwaiter(); RunOnUnityScheduler(() => TaskDelegator.Instance.StartCoroutine(ReturnVoid(awaiter, instruction))); return(awaiter); }
public CoroutineWrapper( IEnumerator coroutine, SimpleCoroutineAwaiter <T> awaiter) { processStack = new Stack <IEnumerator>(); processStack.Push(coroutine); this.awaiter = awaiter; }
public static IEnumerator UnityWebRequest( SimpleCoroutineAwaiter <UnityWebRequest> awaiter, UnityWebRequestAsyncOperation instruction) { yield return(instruction); awaiter.Complete(instruction.webRequest, null); }
public static IEnumerator AssetBundleCreateRequest( SimpleCoroutineAwaiter <AssetBundle> awaiter, AssetBundleCreateRequest instruction) { yield return(instruction); awaiter.Complete(instruction.assetBundle, null); }
public static SimpleCoroutineAwaiter <object> GetAwaiter(this IEnumerator coroutine) { var awaiter = new SimpleCoroutineAwaiter <object>(); RunOnUnityScheduler(() => AsyncCoroutineRunner.Instance.StartCoroutine(new CoroutineWrapper <object>(coroutine, awaiter).Run())); return(awaiter); }
static SimpleCoroutineAwaiter <T> GetAwaiterReturnSelf <T>(T instruction) { var awaiter = new SimpleCoroutineAwaiter <T>(); RunOnUnityScheduler(() => AsyncCoroutineRunner.Instance.StartCoroutine(InstructionWrappers.ReturnSelf(awaiter, instruction))); return(awaiter); }
public static SimpleCoroutineAwaiter <UnityEngine.Object> GetAwaiter(this AssetBundleRequest instruction) { var awaiter = new SimpleCoroutineAwaiter <UnityEngine.Object>(); RunOnUnityScheduler(() => AsyncCoroutineRunner.Instance.StartCoroutine(InstructionWrappers.AssetBundleRequest(awaiter, instruction))); return(awaiter); }
public static IEnumerator ReturnSelf <T>( SimpleCoroutineAwaiter <T> awaiter, T instruction) { yield return(instruction); awaiter.Complete(instruction, null); }
public static IEnumerator AssetBundleRequest( SimpleCoroutineAwaiter <UnityEngine.Object> awaiter, AssetBundleRequest instruction) { yield return(instruction); awaiter.Complete(instruction.asset, null); }
public CoroutineWrapper( IEnumerator coroutine, SimpleCoroutineAwaiter <object> awaiter) { _processStack = new Stack <IEnumerator>(); _processStack.Push(coroutine); _awaiter = awaiter; }
public static SimpleCoroutineAwaiter <UnityEngine.Object> GetAwaiter(this ResourceRequest instruction) { var awaiter = new SimpleCoroutineAwaiter <UnityEngine.Object>(); RunOnUnityScheduler(() => CoroutineManager.Instance.Start( InstructionWrappers.ResourceRequest(awaiter, instruction))); return(awaiter); }
public static SimpleCoroutineAwaiter <UnityEngine.Object> GetAwaiter(this ResourceRequest instruction) { var awaiter = new SimpleCoroutineAwaiter <UnityEngine.Object>(); UnitySystem.RunOnUnityScheduler(() => UnitySystem.SystemBehavior.StartCoroutine( InstructionWrappers.ResourceRequest(awaiter, instruction))); return(awaiter); }
static SimpleCoroutineAwaiter <T> GetAwaiterReturnSelf <T>(T instruction) { var awaiter = new SimpleCoroutineAwaiter <T>(); UnitySystem.RunOnUnityScheduler(() => UnitySystem.SystemBehavior.StartCoroutine( InstructionWrappers.ReturnSelf(awaiter, instruction))); return(awaiter); }
public static SimpleCoroutineAwaiter <UnityWebRequest> GetAwaiter(this UnityWebRequestAsyncOperation instruction) { var awaiter = new SimpleCoroutineAwaiter <UnityWebRequest>(); RunOnUnityScheduler(() => AsyncCoroutineRunner.Instance.StartCoroutine( InstructionWrappers.UnityWebRequest(awaiter, instruction))); return(awaiter); }
public static SimpleCoroutineAwaiter <AssetBundle> GetAwaiter(this AssetBundleCreateRequest instruction) { var awaiter = new SimpleCoroutineAwaiter <AssetBundle>(); RunOnUnityScheduler(() => CoroutineManager.Instance.Start( InstructionWrappers.AssetBundleCreateRequest(awaiter, instruction))); return(awaiter); }
public static SimpleCoroutineAwaiter <Object> GetAwaiter(this ResourceRequest instruction) { var awaiter = new SimpleCoroutineAwaiter <Object>(); var enumerator = InstructionWrappers.ResourceRequest(awaiter, instruction); RunOnUnityScheduler(() => RunCoroutine(enumerator)); return(awaiter); }
private static SimpleCoroutineAwaiter <T> GetAwaiterReturnSelf <T>(T instruction) { var awaiter = new SimpleCoroutineAwaiter <T>(); var enumerator = InstructionWrappers.ReturnSelf(awaiter, instruction); RunOnUnityScheduler(() => RunCoroutine(enumerator)); return(awaiter); }
public static SimpleCoroutineAwaiter <object> GetAwaiter(this IEnumerator coroutine) { var awaiter = new SimpleCoroutineAwaiter <object>(); var enumerator = new CoroutineWrapper <object>(coroutine, awaiter).Run(); RunOnUnityScheduler(() => RunCoroutine(enumerator)); return(awaiter); }
public static SimpleCoroutineAwaiter <AssetBundle> GetAwaiter(this AssetBundleCreateRequest instruction) { var awaiter = new SimpleCoroutineAwaiter <AssetBundle>(); var enumerator = InstructionWrappers.AssetBundleCreateRequest(awaiter, instruction); RunOnUnityScheduler(() => RunCoroutine(enumerator)); return(awaiter); }
public static SimpleCoroutineAwaiter <AssetBundle> GetAwaiter(this AssetBundleCreateRequest instruction) { var awaiter = new SimpleCoroutineAwaiter <AssetBundle>(); ContextUtils.RunOnUnityScheduler(() => AsyncCoroutineRunner.Instance.StartCoroutine( InstructionWrappers.AssetBundleCreateRequest(awaiter, instruction))); return(awaiter); }
private static SimpleCoroutineAwaiter GetAwaiterReturnVoid(object instruction) { var awaiter = new SimpleCoroutineAwaiter(); RunOnUnityScheduler(() => AsyncCoroutineRunner.Instance.StartCoroutine( InstructionWrappers.ReturnVoid(awaiter, instruction))); return(awaiter); }
public static SimpleCoroutineAwaiter <UnityEngine.Object> GetAwaiter(this ResourceRequest instruction) { var awaiter = new SimpleCoroutineAwaiter <UnityEngine.Object>(); var resource_request = InstructionWrappers.ResourceRequest(awaiter, instruction); RunOnUnityScheduler(() => AsyncCoroutineRunnerGlobal.StartRoutine(resource_request, nameof(GetAwaiter) + "(UnityObject)")); return(awaiter); }
public static SimpleCoroutineAwaiter <object> GetAwaiter(this IEnumerator coroutine) { var awaiter = new SimpleCoroutineAwaiter <object>(); var simple_routine = new CoroutineWrapper <object>(coroutine, awaiter).Run(); RunOnUnityScheduler(() => AsyncCoroutineRunnerGlobal.StartRoutine(simple_routine, nameof(GetAwaiter) + "(object)")); return(awaiter); }
public static SimpleCoroutineAwaiter <T> GetAwaiter <T>(this IEnumerator <T> coroutine) { var awaiter = new SimpleCoroutineAwaiter <T>(); var simple_routine = new CoroutineWrapper <T>(coroutine, awaiter).Run(); RunOnUnityScheduler(() => AsyncCoroutineRunnerGlobal.StartRoutine(simple_routine, nameof(GetAwaiter) + "<" + typeof(T).Name + ">")); return(awaiter); }
static SimpleCoroutineAwaiter <T> GetAwaiterReturnSelf <T>(T instruction) { var awaiter = new SimpleCoroutineAwaiter <T>(); var return_self = InstructionWrappers.ReturnSelf(awaiter, instruction); RunOnUnityScheduler(() => AsyncCoroutineRunnerGlobal.StartRoutine(return_self)); return(awaiter); }
public static SimpleCoroutineAwaiter <UnityEngine.Object> GetAwaiter(this AssetBundleRequest instruction) { var awaiter = new SimpleCoroutineAwaiter <UnityEngine.Object>(); var asset_bundle_request = InstructionWrappers.AssetBundleRequest(awaiter, instruction); RunOnUnityScheduler(() => AsyncCoroutineRunnerGlobal.StartRoutine(asset_bundle_request, nameof(AssetBundleRequest))); return(awaiter); }