protected void LateUpdate() { if (!_gameEntity.time.isPaused) { _pausableFixedUpdateSystems.Execute(); } }
void Update() { if (PhotonNetwork.isMasterClient) { if (!_serverSystemsInitialized) { _serverSystemsInitialized = true; _serverSystems.Initialize(); } _serverSystems.Execute(); _serverSystems.Cleanup(); } _systems.Execute(); _systems.Cleanup(); }
void Start() { _contexts = new Contexts(); _contexts.visualDebugging = new Context( VisualDebuggingComponentIds.TotalComponents, 0, new ContextInfo( "Systems Context", VisualDebuggingComponentIds.componentNames, VisualDebuggingComponentIds.componentTypes ) ); #if(!ENTITAS_DISABLE_VISUAL_DEBUGGING && UNITY_EDITOR) new ContextObserver(_contexts.visualDebugging); #endif _systems = createNestedSystems(); //// Test call _systems.Initialize(); _systems.Execute(); _systems.Cleanup(); _systems.TearDown(); _contexts.visualDebugging.CreateEntity().AddMyString(""); }
void when_systems() { Pool pool = null; before = () => { pool = new Pool(10); }; context["fixtures"] = () => { it["initializes InitializeSystemSpy"] = () => { var initializeSystem = new InitializeSystemSpy(); initializeSystem.initialized.should_be_false(); initializeSystem.Initialize(); initializeSystem.initialized.should_be_true(); }; it["executes ExecuteSystemSpy"] = () => { var initializeSystem = new ExecuteSystemSpy(); initializeSystem.executed.should_be_false(); initializeSystem.Execute(); initializeSystem.executed.should_be_true(); }; it["initializes and executes InitializeExecuteSystemSpy"] = () => { var initializeSystem = new InitializeExecuteSystemSpy(); initializeSystem.initialized.should_be_false(); initializeSystem.executed.should_be_false(); initializeSystem.Initialize(); initializeSystem.Execute(); initializeSystem.initialized.should_be_true(); initializeSystem.executed.should_be_true(); }; it["executes ReactiveSystemSpy"] = () => { var system = createReactiveSystem(pool); var spy = (ReactiveSubSystemSpy)system.subsystem; spy.didExecute.should_be(0); spy.initialized.should_be_false(); system.Execute(); spy.didExecute.should_be(1); spy.initialized.should_be_false(); }; }; context["systems"] = () => { Systems systems = null; before = () => { systems = new Systems(); }; it["returns systems when adding system"] = () => { systems.Add(new InitializeSystemSpy()).should_be_same(systems); }; it["initializes IInitializeSystem"] = () => { var system = new InitializeSystemSpy(); systems.Add(system); systems.Initialize(); system.initialized.should_be_true(); }; it["executes IExecuteSystem"] = () => { var system = new ExecuteSystemSpy(); systems.Add(system); systems.Execute(); system.executed.should_be_true(); }; it["initializes and executes IInitializeSystem, IExecuteSystem"] = () => { var system = new InitializeExecuteSystemSpy(); systems.Add(system); systems.Initialize(); systems.Execute(); system.initialized.should_be_true(); system.executed.should_be_true(); }; it["initializes and executes ReactiveSystem"] = () => { var system = createReactiveSystem(pool); systems.Add(system); systems.Initialize(); systems.Execute(); systems.Execute(); var spy = (ReactiveSubSystemSpy)system.subsystem; spy.didExecute.should_be(1); spy.initialized.should_be_true(); }; it["clears reactive systems"] = () => { var system = createReactiveSystem(pool); systems.Add(system); systems.Initialize(); systems.ClearReactiveSystems(); systems.Execute(); var spy = (ReactiveSubSystemSpy)system.subsystem; spy.didExecute.should_be(0); spy.initialized.should_be_true(); }; it["clears reactive systems recursively"] = () => { var system = createReactiveSystem(pool); systems.Add(system); var parentSystems = new Systems(); parentSystems.Add(systems); parentSystems.Initialize(); parentSystems.ClearReactiveSystems(); parentSystems.Execute(); var spy = (ReactiveSubSystemSpy)system.subsystem; spy.didExecute.should_be(0); spy.initialized.should_be_true(); }; it["deactivates reactive systems"] = () => { var system = createReactiveSystem(pool); systems.Add(system); systems.Initialize(); systems.DeactivateReactiveSystems(); systems.Execute(); var spy = (ReactiveSubSystemSpy)system.subsystem; spy.didExecute.should_be(0); spy.initialized.should_be_true(); }; it["deactivates reactive systems recursively"] = () => { var system = createReactiveSystem(pool); systems.Add(system); var parentSystems = new Systems(); parentSystems.Add(systems); parentSystems.Initialize(); parentSystems.DeactivateReactiveSystems(); parentSystems.Execute(); var spy = (ReactiveSubSystemSpy)system.subsystem; spy.didExecute.should_be(0); spy.initialized.should_be_true(); }; it["activates reactive systems"] = () => { var system = createReactiveSystem(pool); systems.Add(system); systems.Initialize(); systems.DeactivateReactiveSystems(); systems.ActivateReactiveSystems(); systems.Execute(); var spy = (ReactiveSubSystemSpy)system.subsystem; spy.didExecute.should_be(0); spy.initialized.should_be_true(); pool.CreateEntity().AddComponentA(); systems.Execute(); spy.didExecute.should_be(1); }; it["activates reactive systems recursively"] = () => { var system = createReactiveSystem(pool); systems.Add(system); var parentSystems = new Systems(); parentSystems.Add(systems); parentSystems.Initialize(); parentSystems.DeactivateReactiveSystems(); parentSystems.ActivateReactiveSystems(); parentSystems.Execute(); var spy = (ReactiveSubSystemSpy)system.subsystem; spy.didExecute.should_be(0); spy.initialized.should_be_true(); pool.CreateEntity().AddComponentA(); systems.Execute(); spy.didExecute.should_be(1); }; }; }
protected void Update() { _unpausableUpdateSystems.Execute(); }
/// <summary> /// mmGame calls this Update() method every frame /// </summary> public virtual void Update() { //------------------- // Z O O M //------------------- if (Global.DebugRenderEnabled && CameraEnabled) { // Camera zoom controls Camera.zoom += ((float)Raylib.GetMouseWheelMove() * 0.05f); if (Camera.zoom > 3.0f) { Camera.zoom = 3.0f; } else if (Camera.zoom < 0.1f) { Camera.zoom = 0.1f; } if (Raylib.IsKeyPressed(KeyboardKey.KEY_R)) // Camera reset (zoom and rotation) { Camera.zoom = 1.0f; Camera.rotation = 0.0f; } } deltaTime = Raylib.GetFrameTime(); Global.DeltaTime = deltaTime; // // Find all Entities // GameEntities = EntityContext.GetEntities().Where(e => e.EntityType == 0).ToList(); SceneEntities = EntityContext.GetEntities().Where(e => e.EntityType == 1).ToList(); //----------------------------------------------------------------------- // Update game entities (Todo: Update order ? like the RenderLayer) //----------------------------------------------------------------------- foreach (Entity ent in GameEntities) { if (!ent.Get <Transform>().Enabled) { continue; } Entitas.IComponent[] allComp = ent.GetComponents(); //all entity components foreach (Entitas.IComponent comp in allComp) { if (comp is IRenderable) { // // Renderable components get the transform component of the Entity // RenderComponent myComp = (RenderComponent)comp; myComp.CompEntity = ent; myComp.Update(deltaTime); } else { Component myComp = (Component)comp; myComp.CompEntity = ent; myComp.Update(deltaTime); } } } // // Update scene UI entities // foreach (Entity ent in SceneEntities) { if (!ent.Get <Transform>().Enabled) { continue; } Entitas.IComponent[] allComp = ent.GetComponents(); //this entity's component foreach (Entitas.IComponent comp in allComp) { if (comp is IRenderable) { // // Renderable components need to know what happened to Entity Transform // RenderComponent myComp = (RenderComponent)comp; myComp.CompEntity = ent; myComp.Update(deltaTime); } else { Component myComp = (Component)comp; myComp.CompEntity = ent; myComp.Update(deltaTime); //force it to update() } } } //SceneSystems.Execute(); //SceneSystems.Cleanup(); EntitySystems.Execute(); //run IExecuteSystems // // If user wants out of this scene // if (ForceEndScene) { Global.StateOfGame = GameState.ForcedExit; } }
private void Update() { systems.Execute(); systems.Cleanup(); }
void when_systems() { Contexts contexts = null; before = () => { contexts = new Contexts { test = new Context(10) }; }; context["fixtures"] = () => { it["initializes InitializeSystemSpy"] = () => { var system = new InitializeSystemSpy(); system.didInitialize.should_be(0); system.Initialize(); system.didInitialize.should_be(1); }; it["executes ExecuteSystemSpy"] = () => { var system = new ExecuteSystemSpy(); system.didExecute.should_be(0); system.Execute(); system.didExecute.should_be(1); }; it["cleans up CleanupSystemSpy"] = () => { var system = new CleanupSystemSpy(); system.didCleanup.should_be(0); system.Cleanup(); system.didCleanup.should_be(1); }; it["tears down TearDownSystemSpy"] = () => { var system = new TearDownSystemSpy(); system.didTearDown.should_be(0); system.TearDown(); system.didTearDown.should_be(1); }; it["initializes, executes, cleans up and tears down system"] = () => { var system = new ReactiveSystemSpy(contexts.test.CreateCollector(Matcher.AllOf(CID.ComponentA))); contexts.test.CreateEntity().AddComponentA(); system.didInitialize.should_be(0); system.Initialize(); system.didInitialize.should_be(1); system.didExecute.should_be(0); system.Execute(); system.didExecute.should_be(1); system.didCleanup.should_be(0); system.Cleanup(); system.didCleanup.should_be(1); system.didTearDown.should_be(0); system.TearDown(); system.didTearDown.should_be(1); }; it["executes ReactiveSystemSpy"] = () => { var system = createReactiveSystem(contexts); system.Execute(); system.entities.Length.should_be(1); }; }; context["systems"] = () => { Systems systems = null; before = () => { systems = new Systems(); }; it["returns systems when adding system"] = () => { systems.Add(new InitializeSystemSpy()).should_be_same(systems); }; it["initializes IInitializeSystem"] = () => { var system = new InitializeSystemSpy(); systems.Add(system); systems.Initialize(); system.didInitialize.should_be(1); }; it["executes IExecuteSystem"] = () => { var system = new ExecuteSystemSpy(); systems.Add(system); systems.Execute(); system.didExecute.should_be(1); }; it["wraps IReactiveSystem in a ReactiveSystem"] = () => { var system = new ReactiveSystemSpy(contexts.test.CreateCollector(Matcher.AllOf(CID.ComponentA))); systems.Add(system); contexts.test.CreateEntity().AddComponentA(); systems.Execute(); system.didExecute.should_be(1); }; it["adds ReactiveSystem"] = () => { var system = new ReactiveSystemSpy(contexts.test.CreateCollector(Matcher.AllOf(CID.ComponentA))); systems.Add(system); contexts.test.CreateEntity().AddComponentA(); systems.Execute(); system.didExecute.should_be(1); }; it["cleans up ICleanupSystem"] = () => { var system = new CleanupSystemSpy(); systems.Add(system); systems.Cleanup(); system.didCleanup.should_be(1); }; it["initializes, executes, cleans up and tears down InitializeExecuteCleanupTearDownSystemSpy"] = () => { var system = new ReactiveSystemSpy(contexts.test.CreateCollector(Matcher.AllOf(CID.ComponentA))); contexts.test.CreateEntity().AddComponentA(); systems.Add(system); system.didInitialize.should_be(0); systems.Initialize(); system.didInitialize.should_be(1); system.didExecute.should_be(0); systems.Execute(); system.didExecute.should_be(1); system.didCleanup.should_be(0); systems.Cleanup(); system.didCleanup.should_be(1); system.didTearDown.should_be(0); systems.TearDown(); system.didTearDown.should_be(1); }; it["initializes, executes, cleans up and tears down ReactiveSystem"] = () => { var system = createReactiveSystem(contexts); systems.Add(system); system.didInitialize.should_be(0); systems.Initialize(); system.didInitialize.should_be(1); system.didExecute.should_be(0); systems.Execute(); systems.Execute(); system.didExecute.should_be(1); system.didCleanup.should_be(0); systems.Cleanup(); system.didCleanup.should_be(1); system.didTearDown.should_be(0); systems.TearDown(); system.didTearDown.should_be(1); }; it["initializes, executes, cleans up and tears down systems recursively"] = () => { var system = createReactiveSystem(contexts); systems.Add(system); var parentSystems = new Systems(); parentSystems.Add(systems); system.didInitialize.should_be(0); parentSystems.Initialize(); system.didInitialize.should_be(1); system.didExecute.should_be(0); parentSystems.Execute(); parentSystems.Execute(); system.didExecute.should_be(1); system.didCleanup.should_be(0); parentSystems.Cleanup(); system.didCleanup.should_be(1); system.didTearDown.should_be(0); parentSystems.TearDown(); system.didTearDown.should_be(1); }; it["clears reactive systems"] = () => { var system = createReactiveSystem(contexts); systems.Add(system); systems.Initialize(); system.didInitialize.should_be(1); systems.ClearReactiveSystems(); systems.Execute(); system.didExecute.should_be(0); }; it["clears reactive systems recursively"] = () => { var system = createReactiveSystem(contexts); systems.Add(system); var parentSystems = new Systems(); parentSystems.Add(systems); parentSystems.Initialize(); system.didInitialize.should_be(1); parentSystems.ClearReactiveSystems(); parentSystems.Execute(); system.didExecute.should_be(0); }; it["deactivates reactive systems"] = () => { var system = createReactiveSystem(contexts); systems.Add(system); systems.Initialize(); system.didInitialize.should_be(1); systems.DeactivateReactiveSystems(); systems.Execute(); system.didExecute.should_be(0); }; it["deactivates reactive systems recursively"] = () => { var system = createReactiveSystem(contexts); systems.Add(system); var parentSystems = new Systems(); parentSystems.Add(systems); parentSystems.Initialize(); system.didInitialize.should_be(1); parentSystems.DeactivateReactiveSystems(); parentSystems.Execute(); system.didExecute.should_be(0); }; it["activates reactive systems"] = () => { var system = createReactiveSystem(contexts); systems.Add(system); systems.Initialize(); system.didInitialize.should_be(1); systems.DeactivateReactiveSystems(); systems.ActivateReactiveSystems(); systems.Execute(); system.didExecute.should_be(0); contexts.test.CreateEntity().AddComponentA(); systems.Execute(); system.didExecute.should_be(1); }; it["activates reactive systems recursively"] = () => { var system = createReactiveSystem(contexts); systems.Add(system); var parentSystems = new Systems(); parentSystems.Add(systems); parentSystems.Initialize(); system.didInitialize.should_be(1); parentSystems.DeactivateReactiveSystems(); parentSystems.ActivateReactiveSystems(); parentSystems.Execute(); system.didExecute.should_be(0); contexts.test.CreateEntity().AddComponentA(); systems.Execute(); system.didExecute.should_be(1); }; }; }
// Update is called once per frame void Update() { _systems.Execute(); _systems.Cleanup(); }