Ejemplo n.º 1
0
        public void CopiesOfAllComponentsAddedToTargetEntity()
        {
            _originalEntity.AddComponentA();
            _originalEntity.AddComponent(MyTestComponentsLookup.NameAge, _nameAge);
            _originalEntity.CopyTo(_targetEntity);

            Assert.AreEqual(2, _targetEntity.GetComponents().Length);
            Assert.IsTrue(_targetEntity.HasComponentA());
            Assert.IsTrue(_targetEntity.HasNameAge);
            Assert.AreNotEqual(Component.A, _targetEntity.GetComponentA());
            Assert.AreNotEqual(_nameAge, _targetEntity.NameAge);

            var clonedComponent = (NameAgeComponent)_targetEntity.GetComponent(MyTestComponentsLookup.NameAge);

            Assert.AreEqual(_nameAge.name, clonedComponent.name);
            Assert.AreEqual(_nameAge.age, clonedComponent.age);
        }
        public void CopiesOfAllComponentsAddedToTargetEntity()
        {
            _entity.AddComponentA();
            _entity.AddComponent(CID.ComponentB, _nameAge);

#pragma warning disable CS0618  // Type or member is obsolete
#pragma warning disable HAA0101 // Array allocation for params parameter
            _entity.CopyTo(_target);
#pragma warning restore HAA0101 // Array allocation for params parameter
#pragma warning restore CS0618  // Type or member is obsolete

            Assert.AreEqual(2, _target.GetComponents().Length);
            Assert.IsTrue(_target.HasComponentA());
            Assert.IsTrue(_target.HasComponentB());
            Assert.AreNotEqual(Component.A, _target.GetComponentA());
            Assert.AreNotEqual(_nameAge, _target.GetComponent(CID.ComponentB));

            var clonedComponent = (NameAgeComponent)_target.GetComponent(CID.ComponentB);

            Assert.AreEqual(_nameAge.name, clonedComponent.name);
            Assert.AreEqual(_nameAge.age, clonedComponent.age);
        }
Ejemplo n.º 3
0
        public void AllEventHandlersAreRemovedFromGroup()
        {
            _groupA.OnEntityAdded   += delegate { Assert.Fail(); };
            _groupA.OnEntityRemoved += delegate { Assert.Fail(); };
            _groupA.OnEntityUpdated += delegate { Assert.Fail(); };

            _groupA.RemoveAllEventHandlers();

            HandleAddEntityWithAComponent(_entityWithAComponent1);

            var cA = _entityWithAComponent1.GetComponentA();

            _entityWithAComponent1.RemoveComponentA();
            HandleRemoveEntityWithAComponent(_entityWithAComponent1, cA);

            _entityWithAComponent1.AddComponentA();
            HandleAddEntityWithAComponent(_entityWithAComponent1);
            HandleUpdateEntityWithAComponent(_entityWithAComponent1, Component.A);
        }
Ejemplo n.º 4
0
        private void AssertHasComponentA(MyTestEntity e, IComponent componentA = null)
        {
            if (componentA == null)
            {
                componentA = Component.A;
            }

            Assert.AreEqual(componentA, e.GetComponentA());

            var components = e.GetComponents();

            Assert.AreEqual(1, components.Length);
            Assert.Contains(componentA, components);

            var indices = e.GetComponentIndices();

            Assert.AreEqual(1, indices.Length);
            Assert.Contains(MyTestComponentsLookup.ComponentA, indices);

            Assert.IsTrue(e.HasComponentA());
            Assert.IsTrue(e.HasComponents(_indicesA));
            Assert.IsTrue(e.HasAnyComponent(_indicesA));
        }
Ejemplo n.º 5
0
 public void CannotRetrieveNonExistentComponentFromEntity()
 {
     Assert.Throws <EntityDoesNotHaveComponentException>(() => _defaultEntity.GetComponentA());
 }
Ejemplo n.º 6
0
 private void HandleAddEntityWithAComponent(MyTestEntity entity)
 {
     Handle(entity, CID.ComponentA, entity.GetComponentA());
 }