Example #1
0
        public IEnumerator ActionExecuteNextFixedUpdate()
        {
            // Wait for a new fixed frame
            yield return(new WaitForFixedUpdate());

            Time.fixedDeltaTime = 0.33f;

            var counter = 0;

            UnityThread.ExecuteInFixedUpdate(() => {
                counter += 10;
                Debug.Log("FixedUpdate loop");
            });

            // Runner is spawned
            var runner = GameObject.Find("UnityThreadRunner");

            Assert.NotNull(runner);

            yield return(null);

            Assert.AreEqual(0, counter);

            yield return(new WaitForEndOfFrame());

            Assert.AreEqual(0, counter);

            yield return(new WaitForFixedUpdate());

            LogAssert.Expect(LogType.Log, "FixedUpdate loop");
            Assert.AreEqual(10, counter);
        }