public static ETTask FromException(Exception ex) { ETTaskCompletionSource tcs = new ETTaskCompletionSource(); tcs.TrySetException(ex); return(tcs.Task); }
public static ETTask <T> FromCanceled <T>(CancellationToken token) { var tcs = new ETTaskCompletionSource <T>(); tcs.TrySetException(new OperationCanceledException(token)); return(tcs.Task); }
static CanceledETTaskCache() { ETTaskCompletionSource tcs = new ETTaskCompletionSource(); tcs.TrySetCanceled(); Task = tcs.Task; }
public void Run() { ETTaskCompletionSource tcs = this.Callback; this.GetParent <TimerComponent>().Remove(this.Id); tcs.SetResult(); }
public static ETTask <T> FromException <T>(Exception ex) { var tcs = new ETTaskCompletionSource <T>(); tcs.TrySetException(ex); return(tcs.Task); }
public ETTask WaitAsync(long time) { long tillTime = TimeHelper.Now() + time; ETTaskCompletionSource tcs = new ETTaskCompletionSource(); OnceWaitTimer timer = EntityFactory.CreateWithParent <OnceWaitTimer, ETTaskCompletionSource>(this, tcs); this.timers[timer.Id] = timer; AddToTimeId(tillTime, timer.Id); return(tcs.Task); }
public void Update() { if (!this.request.isDone) { return; } ETTaskCompletionSource t = tcs; t.SetResult(); }
public ETTask DownloadAsync(string url) { this.tcs = new ETTaskCompletionSource(); url = url.Replace(" ", "%20"); this.Request = UnityWebRequest.Get(url); this.Request.certificateHandler = certificateHandler; this.Request.SendWebRequest(); return(this.tcs.Task); }
public void Update() { if (!this.request.isDone) { return; } ETTaskCompletionSource <AssetBundle> t = tcs; t.SetResult(this.request.assetBundle); }
public ETTask WaitTillAsync(long tillTime, ETCancellationToken cancellationToken) { if (TimeHelper.Now() > tillTime) { return(ETTask.CompletedTask); } ETTaskCompletionSource tcs = new ETTaskCompletionSource(); OnceWaitTimer timer = EntityFactory.CreateWithParent <OnceWaitTimer, ETTaskCompletionSource>(this, tcs); this.timers[timer.Id] = timer; AddToTimeId(tillTime, timer.Id); cancellationToken.Register(() => { this.Remove(timer.Id); }); return(tcs.Task); }
public void SetResult() { if (moveNext == null) { } else { if (this.tcs == null) { this.tcs = new ETTaskCompletionSource(); } this.tcs.TrySetResult(); } }
public void SetException(Exception exception) { if (this.tcs == null) { this.tcs = new ETTaskCompletionSource(); } if (exception is OperationCanceledException ex) { this.tcs.TrySetCanceled(ex); } else { this.tcs.TrySetException(exception); } }
public void SetResult(T ret) { if (moveNext == null) { this.result = ret; } else { if (this.tcs == null) { this.tcs = new ETTaskCompletionSource <T>(); } this.tcs.TrySetResult(ret); } }
public void AwaitOnCompleted <TAwaiter, TStateMachine>(ref TAwaiter awaiter, ref TStateMachine stateMachine) where TAwaiter : INotifyCompletion where TStateMachine : IAsyncStateMachine { if (moveNext == null) { if (this.tcs == null) { this.tcs = new ETTaskCompletionSource(); // built future. } var runner = new MoveNextRunner <TStateMachine>(); moveNext = runner.Run; runner.StateMachine = stateMachine; // set after create delegate. } awaiter.OnCompleted(moveNext); }
private ETTask InnerLoadAllAssetsAsync() { this.tcs = new ETTaskCompletionSource(); this.request = assetBundle.LoadAllAssetsAsync(); return(this.tcs.Task); }
public ETTask <AssetBundle> LoadAsync(string path) { this.tcs = new ETTaskCompletionSource <AssetBundle>(); this.request = AssetBundle.LoadFromFileAsync(path); return(this.tcs.Task); }