From 1dfa6ba4efbb747aeb351cd0368f01a4e5d81dd5 Mon Sep 17 00:00:00 2001 From: cosmonaut Date: Tue, 17 Oct 2023 17:41:26 -0700 Subject: [PATCH] experiment with preserving set order --- src/IndexableSet.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) 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; }