Beispiel #1
0
        public IEnumerator Update()
        {
            InitiallizeFSM();

            System.Action onUpdate = () => { TestRunnerHelper.testInt++; };
            root.OnUpdateAction += onUpdate;

            Assert.AreEqual(false, root.Update());
            Assert.AreEqual(true, root.Run(ETestRunenrEnum.Test1));

            while (root.Update())
            {
                if (root.Counter == 30)
                {
                    break;
                }

                yield return(null);
            }

            Assert.AreEqual(30, root.Counter);
            Assert.AreEqual(59, TestRunnerHelper.testInt);
            yield return(new WaitForSeconds(0.1f));

            Assert.AreEqual(30, root.Counter);
            Assert.AreEqual(59, TestRunnerHelper.testInt);
            Assert.AreEqual(true, root.Update());
            Assert.AreEqual(31, root.Counter);
            Assert.AreEqual(61, TestRunnerHelper.testInt);

            TestRunnerHelper.testInt = 0;
            root.OnUpdateAction     -= onUpdate;
            Assert.AreEqual(true, root.Update());
            Assert.AreEqual(32, root.Counter);
            Assert.AreEqual(1, TestRunnerHelper.testInt);

            yield return(null);
        }