Esempio n. 1
0
        public IEnumerator TimerFrameSinglePre() => UniTask.ToCoroutine(async() =>
        {
            {
                await UniTask.Yield(PlayerLoopTiming.PreUpdate);
                var initialFrame = Time.frameCount;
                var xs           = await UniTaskAsyncEnumerable.TimerFrame(0).Select(_ => Time.frameCount).ToArrayAsync();
                xs[0].Should().Be(initialFrame);
            }
            {
                await UniTask.Yield(PlayerLoopTiming.PreUpdate);
                var initialFrame = Time.frameCount;

                var xs = await UniTaskAsyncEnumerable.TimerFrame(1).Select(_ =>
                {
                    var t = Time.frameCount;

                    return(t);
                }).ToArrayAsync();

                xs[0].Should().Be(initialFrame + 1);
            }
            {
                await UniTask.Yield(PlayerLoopTiming.PreUpdate);
                var initialFrame = Time.frameCount;
                var xs           = await UniTaskAsyncEnumerable.TimerFrame(2).Select(_ => Time.frameCount).ToArrayAsync();
                xs[0].Should().Be(initialFrame + 2);
            }
        });
Esempio n. 2
0
 public IEnumerator TimerFrameSinglePre2() => UniTask.ToCoroutine(async() =>
 {
     {
         var xs = await UniTaskAsyncEnumerable.TimerFrame(1).ToArrayAsync();
     }
     Debug.Log("------------------");
     {
         var xs = await UniTaskAsyncEnumerable.TimerFrame(1).ToArrayAsync();
     }
 });
Esempio n. 3
0
    private async UniTaskVoid ExecuteAsync()
    {
        Debug.Log("1");
        {
            var xs = await UniTaskAsyncEnumerable.TimerFrame(1).ToArrayAsync();
        }
        Debug.Log("------------------");
        {
            var xs = await UniTaskAsyncEnumerable.TimerFrame(1).ToArrayAsync();

            Debug.Log("2");
        }
    }
Esempio n. 4
0
        public IEnumerator TimerFrameTest() => UniTask.ToCoroutine(async() =>
        {
            await UniTask.Yield(PlayerLoopTiming.PreUpdate);

            var initialFrame = Time.frameCount;
            var xs           = await UniTaskAsyncEnumerable.TimerFrame(0, 0).Take(5).Select(_ => Time.frameCount).ToArrayAsync();

            xs[0].Should().Be(initialFrame);
            xs[1].Should().Be(initialFrame + 1);
            xs[2].Should().Be(initialFrame + 2);
            xs[3].Should().Be(initialFrame + 3);
            xs[4].Should().Be(initialFrame + 4);
        });
Esempio n. 5
0
        public IEnumerator TimerFramePost() => UniTask.ToCoroutine(async() =>
        {
            await UniTask.Yield(PlayerLoopTiming.PostLateUpdate);

            var initialFrame = Time.frameCount;
            var xs           = await UniTaskAsyncEnumerable.TimerFrame(2, 3).Take(5).Select(_ => Time.frameCount).ToArrayAsync();

            xs[0].Should().Be(initialFrame + 2);
            xs[1].Should().Be(initialFrame + 2 + (3 * 1));
            xs[2].Should().Be(initialFrame + 2 + (3 * 2));
            xs[3].Should().Be(initialFrame + 2 + (3 * 3));
            xs[4].Should().Be(initialFrame + 2 + (3 * 4));
        });
Esempio n. 6
0
    private async UniTaskVoid HogeAsync()
    {
        // await is not over
        await UniTaskAsyncEnumerable
        .TimerFrame(10)
        .ForEachAwaitAsync(async _ =>
                           // .ForEachAsync(_ =>
        {
            await UniTask.Delay(1000);
            Debug.Log(Time.time);
        });

        Debug.Log("Done");
    }