public void AddComponent()
        {
            var entity = EntityManager.CreateEntity();
            var component = new DummyComponent1();

            entity.Add(component);
            Assert.That(entity.Count, Is.EqualTo(1));
        }
        public void GetComponent()
        {
            var entity = EntityManager.CreateEntity();
            var component = new DummyComponent1();

            entity.Add(component);
            Assert.That(entity.Get<DummyComponent1>(), Is.EqualTo(component));
            Assert.That(entity.Get(typeof(DummyComponent1)), Is.EqualTo(component));
        }
        public void ComponentDuplicatesNotAllowed()
        {
            var entity = EntityManager.CreateEntity();
            var component = new DummyComponent1();

            entity.Add(component);
            entity.Add(component);
            entity.Add(component);

            Assert.That(entity.Count, Is.EqualTo(1));
            Assert.That(entity.GetAll(component.GetType()).Count, Is.EqualTo(1));
        }
        public void GetComponents()
        {
            var entity = EntityManager.CreateEntity();
            var component1 = new DummyComponent1();
            var component2 = new DummyComponent1();
            var component3 = new DummyComponent2();

            entity.Add(component1);
            entity.Add(component2);
            entity.Add(component3);

            Assert.That(entity.GetAll<DummyComponent1>().Count, Is.EqualTo(2));
            Assert.That(entity.GetAll(typeof(DummyComponent2)).Count, Is.EqualTo(1));
        }
Example #5
0
        public void Apply(IEntity entity)
        {
            var component1 = new DummyComponent1
            {
                SomeNumber = _random.Next(),
                SomeString = RandomString(),
                SomeTime   = DateTime.FromBinary(_random.Next(int.MaxValue))
            };

            var component2 = new DummyComponent2
            {
                SomeVector     = RandomVector(),
                SomeQuaternion = RandomQuaternion()
            };

            entity.AddComponents(component1, component2);
        }
        public void GetComponentWithScope()
        {
            var entity1 = EntityManager.CreateEntity();
            var entity2 = EntityManager.CreateEntity();
            var entity3 = EntityManager.CreateEntity();
            var entity4 = EntityManager.CreateEntity();
            var component1 = new DummyComponent1();
            var component2 = new DummyComponent1();
            var component3 = new DummyComponent1();
            var component4 = new DummyComponent1();

            entity1.Add(component1);
            entity2.Add(component2);
            entity3.Add(component3);
            entity4.Add(component4);
            entity1.AddChild(entity2);
            entity1.AddChild(entity4);
            entity3.SetParent(entity2);

            Assert.That(entity1.Get<DummyComponent1>(HierarchyScopes.Self), Is.EqualTo(component1));
            Assert.That(entity1.Get<DummyComponent1>(HierarchyScopes.Children), Is.EqualTo(component2));
            Assert.That(entity1.Get<DummyComponent1>(HierarchyScopes.Ancestors), Is.Null);
            Assert.That(entity1.Get<DummyComponent1>(HierarchyScopes.Siblings), Is.Null);
            Assert.That(entity1.Get<DummyComponent1>(HierarchyScopes.Hierarchy), Is.EqualTo(component1));

            Assert.That(entity2.Get<DummyComponent1>(HierarchyScopes.Self), Is.EqualTo(component2));
            Assert.That(entity2.Get<DummyComponent1>(HierarchyScopes.Children), Is.EqualTo(component3));
            Assert.That(entity2.Get<DummyComponent1>(HierarchyScopes.Ancestors), Is.EqualTo(component1));
            Assert.That(entity2.Get<DummyComponent1>(HierarchyScopes.Siblings), Is.EqualTo(component4));
            Assert.That(entity2.Get<DummyComponent1>(HierarchyScopes.Hierarchy), Is.EqualTo(component1));

            Assert.That(entity3.Get<DummyComponent1>(HierarchyScopes.Self), Is.EqualTo(component3));
            Assert.That(entity3.Get<DummyComponent1>(HierarchyScopes.Children), Is.Null);
            Assert.That(entity3.Get<DummyComponent1>(HierarchyScopes.Ancestors), Is.EqualTo(component2));
            Assert.That(entity3.Get<DummyComponent1>(HierarchyScopes.Siblings), Is.Null);
            Assert.That(entity3.Get<DummyComponent1>(HierarchyScopes.Hierarchy), Is.EqualTo(component1));

            Assert.That(entity4.Get<DummyComponent1>(HierarchyScopes.Self), Is.EqualTo(component4));
            Assert.That(entity4.Get<DummyComponent1>(HierarchyScopes.Children), Is.Null);
            Assert.That(entity4.Get<DummyComponent1>(HierarchyScopes.Ancestors), Is.EqualTo(component1));
            Assert.That(entity4.Get<DummyComponent1>(HierarchyScopes.Siblings), Is.EqualTo(component2));
            Assert.That(entity4.Get<DummyComponent1>(HierarchyScopes.Hierarchy), Is.EqualTo(component1));
        }
        public void RemoveComponents()
        {
            var entity = EntityManager.CreateEntity();
            var component1 = new DummyComponent1();
            var component2 = new DummyComponent1();
            var component3 = new DummyComponent1();

            entity.Add(component1);
            entity.Add(component2);
            entity.Add(component3);
            Assert.That(entity.Count, Is.EqualTo(3));
            entity.RemoveAll<DummyComponent1>();
            Assert.That(entity.Count, Is.EqualTo(0));

            entity.Add(component1);
            entity.Add(component2);
            entity.Add(component3);
            Assert.That(entity.Count, Is.EqualTo(3));
            entity.RemoveAll(typeof(DummyComponent1));
            Assert.That(entity.Count, Is.EqualTo(0));
        }
        public void HasComponent()
        {
            var entity = EntityManager.CreateEntity();
            var component = new DummyComponent1();

            entity.Add(component);
            Assert.That(entity.Has(component));
            Assert.That(entity.Has(component.GetType()));
            Assert.That(entity.Has<DummyComponent1>());
        }