public override void OnResetItem(AwaitItem item) { item.unscaledTime = false; item.tcs = ETTask.Create(true); //item.taskSource = new TaskCompletionSource<bool>(); //item.taskSource.Recycle(); }
public ETTask <T> ResourcesLoadAsync <T>(string path) where T : Object { ETTask <T> tcs = ETTask <T> .Create(true); Instance.StartCoroutine(LoadAsset(path, tcs)); return(tcs); }
public static ETAsyncTaskMethodBuilder Create() { ETAsyncTaskMethodBuilder builder = new ETAsyncTaskMethodBuilder() { tcs = ETTask.Create(true) }; return(builder); }
IEnumerator LoadAsset <T>(string path, ETTask <T> tcs) where T : Object { ResourceRequest asset = Resources.LoadAsync <T>(path); yield return(asset); var go = asset.asset as T; tcs.SetResult(go); }
public async ETTask WaitAsync() { --this.count; if (this.count < 0) { return; } if (this.count == 0) { List <ETTask> t = this.tcss; this.tcss = null; foreach (ETTask ttcs in t) { ttcs.SetResult(); } return; } ETTask tcs = ETTask.Create(true); tcss.Add(tcs); await tcs; }
public AwaitItem() { tcs = ETTask.Create(true); }