public void activate_reactive_systems_recursive() { var sys = CreateReactiveSystem(pool); var s = (ReactiveSubSystemSpy)sys.Subsystem; scenario.Add(sys); var parent = new BaseScenario(); parent.Add(scenario); parent.Initialize(); Assert.AreEqual(1, s.didInitialize); parent.DeactivateReactiveSystems(); parent.Execute(); Assert.AreEqual(0, s.didExecute); parent.ActivateReactiveSystems(); parent.Execute(); Assert.AreEqual(0, s.didExecute); pool.CreateEntity().Add <TestComponentA>(); parent.Execute(); Assert.AreEqual(1, s.didExecute); }
public void init_execute_clean_deinit_systems_recursively() { var sys = CreateReactiveSystem(pool); var s = (ReactiveSubSystemSpy)sys.Subsystem; scenario.Add(sys); var parent = new BaseScenario(); parent.Add(scenario); Assert.AreEqual(0, s.didInitialize); parent.Initialize(); Assert.AreEqual(1, s.didInitialize); Assert.AreEqual(0, s.didExecute); parent.Execute(); Assert.AreEqual(1, s.didExecute); Assert.AreEqual(0, s.didCleanup); parent.Cleanup(); Assert.AreEqual(1, s.didCleanup); Assert.AreEqual(0, s.didDeinitialize); parent.Deinitialize(); Assert.AreEqual(1, s.didDeinitialize); }