diff --git a/src/EcsWorld.cs b/src/EcsWorld.cs index 07d38f2..b1a93f0 100644 --- a/src/EcsWorld.cs +++ b/src/EcsWorld.cs @@ -917,7 +917,6 @@ namespace DCFApixels.DragonECS var count = GetComponentsCount(entityID); - if (count <= 0) { list.Clear(); @@ -937,7 +936,14 @@ namespace DCFApixels.DragonECS GetComponentTypeIDsFor_Internal(entityID, poolIdsPtr, count); - if (list.Count != count) + if (list.Count == count) + { + for (int i = 0; i < count; i++) + { + list[i] = _pools[poolIdsPtr[i]]; + } + } + else { list.Clear(); for (int i = 0; i < count; i++) @@ -945,13 +951,6 @@ namespace DCFApixels.DragonECS list.Add(_pools[poolIdsPtr[i]]); } } - else - { - for (int i = 0; i < count; i++) - { - list[i] = _pools[poolIdsPtr[i]]; - } - } } public void GetComponentsFor(int entityID, List list) {