Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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>());
            });
        }
Пример #4
0
        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);
            });
        }
Пример #5
0
 private void Update()
 {
     mSystemManager.Update(Time.deltaTime);
 }
Пример #6
0
 protected void Update() => mSystemManager.Update(Time.deltaTime);