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); } });
public IEnumerator TimerFrameSinglePre2() => UniTask.ToCoroutine(async() => { { var xs = await UniTaskAsyncEnumerable.TimerFrame(1).ToArrayAsync(); } Debug.Log("------------------"); { var xs = await UniTaskAsyncEnumerable.TimerFrame(1).ToArrayAsync(); } });
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"); } }
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); });
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)); });
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"); }