public void SystemsReactivatesSystemsRecursively() { var system = CreateReactiveSystem(_ctx); _systems.Add(system); var parentSystems = new Systems(); parentSystems.Add(_systems); parentSystems.Initialize(); Assert.AreEqual(1, system.DidInitialize); parentSystems.Deactivate(); parentSystems.Activate(); parentSystems.Update(); Assert.AreEqual(0, system.DidExecute); _ctx.CreateEntity().AddComponentA(); _systems.Execute(); Assert.AreEqual(1, system.DidExecute); }
public void SystemsActivatesReactiveSystems() { var system = CreateReactiveSystem(_ctx); _systems.Add(system); _systems.Initialize(); Assert.AreEqual(1, system.DidInitialize); _systems.Deactivate(); _systems.Activate(); _systems.Execute(); Assert.AreEqual(0, system.DidExecute); _ctx.CreateEntity().AddComponentA(); _systems.Execute(); Assert.AreEqual(1, system.DidExecute); }