Exemple #1
0
        unsafe public void DiffArchetype_EmptyEmpty()
        {
            var before = m_Manager.CreateArchetype();
            var after  = m_Manager.CreateArchetype();

            var added   = stackalloc int[after.TypesCount];
            var removed = stackalloc int[before.TypesCount];

            EntityArchetype.CalculateDifference(before, after, added, out var addedTypesCount, removed, out var removedTypesCount);

            Assert.AreEqual(0, removedTypesCount);
            Assert.AreEqual(0, addedTypesCount);
        }
Exemple #2
0
        unsafe public void DiffArchetype_RemoveEmpty()
        {
            var before = m_Manager.CreateArchetype(typeof(EcsTestData), typeof(EcsTestData2));
            var after  = m_Manager.CreateArchetype();

            var added   = stackalloc int[after.TypesCount];
            var removed = stackalloc int[before.TypesCount];

            EntityArchetype.CalculateDifference(before, after, added, out var addedTypesCount, removed, out var removedTypesCount);

            Assert.AreEqual(2, removedTypesCount);
            Assert.AreEqual(TypeManager.GetTypeIndex(typeof(EcsTestData)), removed[0]);
            Assert.AreEqual(TypeManager.GetTypeIndex(typeof(EcsTestData2)), removed[1]);
            Assert.AreEqual(0, addedTypesCount);
        }