static UnityCoroutineScheduler GetVoidAwaiter(object instruction) { var awaiter = new UnityCoroutineScheduler(); UnitySchedulerProvider.RunOnUnityScheduler(() => CoroutinePerformer.Instance.StartCoroutine(ReturnVoid(awaiter, instruction))); return(awaiter); }
public static UnityCoroutineScheduler <AssetBundle> GetAwaiter(this AssetBundleCreateRequest request) { var awaiter = new UnityCoroutineScheduler <AssetBundle>(); UnitySchedulerProvider.RunOnUnityScheduler(() => CoroutinePerformer.Instance.StartCoroutine(AssetBundleCreateRequest(awaiter, request))); return(awaiter); }
public static UnityCoroutineScheduler <Object> GetAwaiter(this ResourceRequest request) { var awaiter = new UnityCoroutineScheduler <Object>(); UnitySchedulerProvider.RunOnUnityScheduler(() => CoroutinePerformer.Instance.StartCoroutine(ResourceRequest(awaiter, request))); return(awaiter); }
public void Complete(T result, Exception e) { ConditionHelper.Assert(!IsCompleted); IsCompleted = true; exception = e; this.result = result; if (continueWith != null) { UnitySchedulerProvider.RunOnUnityScheduler(continueWith); } }