public void PrimaryEntityIndexCanReleaseEntityWhenComponentGetsRemoved()
        {
            SetupActivatedPrimaryEntityIndex();

            _entity.RemoveComponent(CID.ComponentA);

            Assert.IsNull(_primaryIndex.GetEntity(NAME));
            Assert.AreEqual(1, _entity.RetainCount);             // Context
        }
        public void EntityIndexReleasesAndRemovesEntityFromIndexWhenComponentRemoved()
        {
            SetupActivatedSingleKeyEntityIndex();

            _entity1.RemoveComponent(CID.ComponentA);

            Assert.AreEqual(1, _index.GetEntities(NAME).Count);
            Assert.AreEqual(1, _entity1.RetainCount);             // Context
        }
示例#3
0
        public void ComponentPoolGetsNonPoolCreatedInstanceWhenRemoved()
        {
            var component = new NameAgeComponent();

            _defaultEntity.AddComponent(1, component);

            _defaultEntity.RemoveComponent(1);

            var newComponent = (NameAgeComponent)_defaultEntity.CreateComponent(1, typeof(NameAgeComponent));

            Assert.AreEqual(component, newComponent);
        }