public IEnumerator TestAndThen() { var first = false; var second = false; Coroutines.DelayForFrames(1, () => first = true) .AndThen(Coroutines.DelayForFrames(1, () => second = true)).Start(); Assert.IsFalse(first); Assert.IsFalse(second); yield return(null); Assert.IsTrue(first); Assert.IsFalse(second); yield return(null); Assert.IsTrue(first); Assert.IsTrue(second); }
public IEnumerator TestDelayForFrames_FixedUpdate() { var done = false; Coroutines.DelayForFrames(5, () => done = true, fixedUpdate: true).Start(); Assert.IsFalse(done, "after 0 fu"); yield return(new WaitForFixedUpdate()); yield return(new WaitForFixedUpdate()); yield return(new WaitForFixedUpdate()); yield return(new WaitForFixedUpdate()); Assert.IsFalse(done, "after 4 fu"); yield return(new WaitForFixedUpdate()); Assert.IsTrue(done, "after 5 fu"); }
public IEnumerator TestDelayForFrames() { var done = false; Coroutines.DelayForFrames(5, () => done = true).Start(); Assert.IsFalse(done, "after 0 frames"); yield return(null); yield return(null); yield return(null); yield return(null); Assert.IsFalse(done, "after 4 frames"); yield return(null); Assert.IsTrue(done, "after 5 frames"); }