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); }
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); }