public void TestDisposableEntitiesCollectorSystem_ThereAreNoDisposableEntitiesAtInput_DoNothing() { mSystemManager.RegisterSystem(new PureUpdateSystemAdapter(mWorldContext, BuiltinSystems.DisposableEntitiesCollectorSystem)); int expectedNumOfDisposableEntities = 5; for (int i = 0; i < expectedNumOfDisposableEntities; ++i) { mWorldContext.CreateDisposableEntity(); } Assert.AreEqual(expectedNumOfDisposableEntities, mWorldContext.GetEntitiesWithAll(typeof(TDisposableComponent)).Count); mSystemManager.Init(); mSystemManager.Update(0.0f); Assert.AreEqual(0, mWorldContext.GetEntitiesWithAll(typeof(TDisposableComponent)).Count); }
public override void Update(float deltaTime) { if (_player.IsDestroyed) { _game.SetState(new ScoreState(_game, Score)); } _entityManager.Update(deltaTime); _levelManager.Update(deltaTime); _systemManager.Update(deltaTime); _healthbar.Update(deltaTime); }
public void TestUpdateMethodOfSystem_PassCorrectData_SuccessfullyProcessesData() { string entityName = "entity01"; // prepare data var e = mWorldContext.GetEntityById(mWorldContext.CreateEntity(entityName)); e.AddComponent <TOnViewWaitForInitEventComponent>(); Assert.IsNotNull(e); Assert.AreEqual(e.Name, entityName); // execute system mSystemManager.Update(0.0f); // check results Assert.DoesNotThrow(() => { Assert.IsFalse(e.HasComponent <TOnViewWaitForInitEventComponent>()); Assert.IsTrue(e.HasComponent <TViewComponent>()); }); }
public void TestUpdate_CreateEntityWithTwoComponents_EntityPassedOnceInReactiveSystem() { Assert.DoesNotThrow(() => { mSystemManager.RegisterSystem(new PureReactiveSystemAdapter(mWorldContext, entity => true, (world, entities, dt) => { Assert.AreEqual(1, entities.Count); })); // emulate an event when we create two components for same entity var listener = mSystemManager as IEventListener <TNewComponentAddedEvent>; EntityId id = (EntityId)1; listener.OnEvent(new TNewComponentAddedEvent { mOwnerId = id }); listener.OnEvent(new TNewComponentAddedEvent { mOwnerId = id }); mSystemManager.Update(0.0f); }); }
private void Update() { mSystemManager.Update(Time.deltaTime); }
protected void Update() => mSystemManager.Update(Time.deltaTime);