Пример #1
0
 public override void OnResetItem(AwaitItem item)
 {
     item.unscaledTime = false;
     item.tcs          = ETTask.Create(true);
     //item.taskSource = new TaskCompletionSource<bool>();
     //item.taskSource.Recycle();
 }
Пример #2
0
        public ETTask <T> ResourcesLoadAsync <T>(string path)
            where T : Object
        {
            ETTask <T> tcs = ETTask <T> .Create(true);

            Instance.StartCoroutine(LoadAsset(path, tcs));
            return(tcs);
        }
Пример #3
0
        public static ETAsyncTaskMethodBuilder Create()
        {
            ETAsyncTaskMethodBuilder builder = new ETAsyncTaskMethodBuilder()
            {
                tcs = ETTask.Create(true)
            };

            return(builder);
        }
Пример #4
0
        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);
        }
Пример #5
0
            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;
            }
Пример #6
0
 public AwaitItem()
 {
     tcs = ETTask.Create(true);
 }