public void JobProcessComponentGroupCorrect()
        {
            m_Manager.CreateEntity(typeof(EcsTestData), typeof(EcsTestData2));

            ComponentType[] expectedTypes = { ComponentType.ReadOnly <EcsTestData>(), ComponentType.Create <EcsTestData2>() };

            new Process2().Run(EmptySystem);
            new Process2().Run(EmptySystem);
            var group = EmptySystem.GetComponentGroup(expectedTypes);

            Assert.AreEqual(1, EmptySystem.ComponentGroups.Length);
            Assert.IsTrue(EmptySystem.ComponentGroups[0].CompareComponents(expectedTypes));
            Assert.AreEqual(group, EmptySystem.ComponentGroups[0]);
        }
Exemple #2
0
        public void GetComponentGroupWithDuplicates()
        {
            // Currently duplicates will create two seperate groups doing the same thing...
            ComponentType[] dup_1 = { typeof(EcsTestData2) };
            ComponentType[] dup_2 = { typeof(EcsTestData2), typeof(EcsTestData2) };

            var dup1_system = EmptySystem.GetComponentGroup(dup_1);
            var dup2_system = EmptySystem.GetComponentGroup(dup_2);

            Assert.AreEqual(dup1_system, EmptySystem.GetComponentGroup(dup_1));
            Assert.AreEqual(dup2_system, EmptySystem.GetComponentGroup(dup_2));

            Assert.AreEqual(2, EmptySystem.ComponentGroups.Length);
        }
Exemple #3
0
        public void GetComponentGroup()
        {
            ComponentType[] ro_rw = { ComponentType.ReadOnly <EcsTestData>(), typeof(EcsTestData2) };
            ComponentType[] rw_rw = { typeof(EcsTestData), typeof(EcsTestData2) };
            ComponentType[] rw    = { typeof(EcsTestData) };

            var ro_rw0_system = EmptySystem.GetComponentGroup(ro_rw);
            var rw_rw_system  = EmptySystem.GetComponentGroup(rw_rw);
            var rw_system     = EmptySystem.GetComponentGroup(rw);

            Assert.AreEqual(ro_rw0_system, EmptySystem.GetComponentGroup(ro_rw));
            Assert.AreEqual(rw_rw_system, EmptySystem.GetComponentGroup(rw_rw));
            Assert.AreEqual(rw_system, EmptySystem.GetComponentGroup(rw));

            Assert.AreEqual(3, EmptySystem.ComponentGroups.Length);
        }
Exemple #4
0
 public void GetComponentGroupWithEntityThrows()
 {
     ComponentType[] e = { typeof(Entity), typeof(EcsTestData) };
     EmptySystem.GetComponentGroup(e);
     Assert.Throws <ArgumentException>(() => EmptySystem.GetComponentGroup(e));
 }