diff --git a/src/IndexableSet.cs b/src/IndexableSet.cs index 1956756..a7597f2 100644 --- a/src/IndexableSet.cs +++ b/src/IndexableSet.cs @@ -60,12 +60,25 @@ namespace MoonTools.ECS.Collections return false; } + /* var lastElement = array[Count - 1]; var index = indices[element]; array[index] = lastElement; indices[lastElement] = index; count -= 1; indices.Remove(element); + */ + + var index = indices[element]; + + for (var i = index; i < Count - 1; i += 1) + { + array[i] = array[i + 1]; + indices[array[i]] = i; + } + + indices.Remove(element); + count -= 1; return true; }