diff --git a/src/Collections/EcsGroup.cs b/src/Collections/EcsGroup.cs index 09eb1dd..f94ca62 100644 --- a/src/Collections/EcsGroup.cs +++ b/src/Collections/EcsGroup.cs @@ -324,42 +324,12 @@ namespace DCFApixels.DragonECS if (!Has(item)) AddInternal(item); } - public void UnionWithRange(int[] range) + public void UnionWith(EcsSpan span) { - foreach (var item in range) - { - if (!Has(item)) - AddInternal(item); - } - } - public void UnionWithRange(Span range) - { - foreach (var item in range) - { - if (!Has(item)) - AddInternal(item); - } - } - public void UnionWithRange(ReadOnlySpan range) - { - foreach (var item in range) - { - if (!Has(item)) - AddInternal(item); - } - } - public void UnionWithRange(T range) where T : IList - { - for (int i = 0; i < range.Count; i++) - { - int item = range[i]; - if (!Has(item)) - AddInternal(item); - } - } - public void UnionWithRange(IEnumerable range) - { - foreach (var item in range) +#if (DEBUG && !DISABLE_DEBUG) || ENABLE_DRAGONECS_ASSERT_CHEKS + if (_source != span.World) Throw.Group_ArgumentDifferentWorldsException(); +#endif + foreach (var item in span) { if (!Has(item)) AddInternal(item); @@ -390,42 +360,12 @@ namespace DCFApixels.DragonECS RemoveInternal(item); } } - public void ExceptWithRange(int[] range) + public void ExceptWith(EcsSpan span) { - foreach (var item in range) - { - if (Has(item)) - RemoveInternal(item); - } - } - public void ExceptWithRange(Span range) - { - foreach (var item in range) - { - if (Has(item)) - RemoveInternal(item); - } - } - public void ExceptWithRange(ReadOnlySpan range) - { - foreach (var item in range) - { - if (Has(item)) - RemoveInternal(item); - } - } - public void ExceptWithRange(T range) where T : IList - { - for (int i = 0; i < range.Count; i++) - { - int item = range[i]; - if (Has(item)) - RemoveInternal(item); - } - } - public void ExceptWithRange(IEnumerable range) - { - foreach (var item in range) +#if (DEBUG && !DISABLE_DEBUG) || ENABLE_DRAGONECS_ASSERT_CHEKS + if (_source != span.World) Throw.Group_ArgumentDifferentWorldsException(); +#endif + foreach (var item in span) { if (Has(item)) RemoveInternal(item);