Beispiel #1
0
        public void GameState()
        {
            GameStateMachine.CreateSingleton();
            var state = new TestForGameState();

            GameStateMachine.Instance.RegisterGameState(state);
            Assert.AreEqual(false, state.Entered);
            GameStateMachine.Instance.ChangeState(typeof(TestForGameState));
            Assert.AreEqual(true, state.Entered, "状态没有正确进入");
            Assert.AreEqual(0, state.Counter);
            GameStateMachine.Instance.UpdateLogic(0);
            Assert.AreEqual(1, state.Counter, "没有正确执行UpdateLogic");
            GameStateMachine.Instance.UpdateFrame(0);
            Assert.AreEqual(3, state.Counter, "没有正确执行UpdateFrame");
            GameStateMachine.DestroySingleton();
            Assert.AreEqual(false, state.Entered, "状态没有正确退出");
        }