From e59ef89dfcfd776df0f1931c9ed760c36bf61a0e Mon Sep 17 00:00:00 2001 From: Mikhail <99481254+DCFApixels@users.noreply.github.com> Date: Mon, 5 Jun 2023 00:23:18 +0800 Subject: [PATCH] update EcsGroup rename set operations replace Span with ReadOnlySpan --- src/EcsGroup.cs | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/src/EcsGroup.cs b/src/EcsGroup.cs index 99fa224..60d1a02 100644 --- a/src/EcsGroup.cs +++ b/src/EcsGroup.cs @@ -71,8 +71,8 @@ namespace DCFApixels.DragonECS [MethodImpl(MethodImplOptions.AggressiveInlining)] public void Bake(List entities) => _source.Bake(entities); [MethodImpl(MethodImplOptions.AggressiveInlining)] - public Span ToSpan() => _source.ToSpan(); - public Span ToSpan(int start, int length) => _source.ToSpan(start, length); + public ReadOnlySpan ToSpan() => _source.ToSpan(); + public ReadOnlySpan ToSpan(int start, int length) => _source.ToSpan(start, length); [MethodImpl(MethodImplOptions.AggressiveInlining)] public int First() => _source.First(); @@ -163,7 +163,6 @@ namespace DCFApixels.DragonECS { return world.GetFreeGroup(); } - [MethodImpl(MethodImplOptions.AggressiveInlining)] internal EcsGroup(EcsWorld world, int denseCapacity = 64) { _source = world; @@ -282,13 +281,13 @@ namespace DCFApixels.DragonECS foreach (var e in this) entities.Add(e); } - public Span ToSpan() => new Span(_dense, 0, _count); - public Span ToSpan(int start, int length) + public ReadOnlySpan ToSpan() => new ReadOnlySpan(_dense, 0, _count); + public ReadOnlySpan ToSpan(int start, int length) { #if (DEBUG && !DISABLE_DEBUG) || ENABLE_DRAGONECS_ASSERT_CHEKS if (start + length > _count) ThrowArgumentOutOfRangeException(); #endif - return new Span(_dense, start, length); + return new ReadOnlySpan(_dense, start, length); } #endregion @@ -323,9 +322,9 @@ namespace DCFApixels.DragonECS /// as Intersect sets [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void AndWith(EcsReadonlyGroup group) => AndWith(group.GetGroupInternal()); + public void IntersectWith(EcsReadonlyGroup group) => IntersectWith(group.GetGroupInternal()); /// as Intersect sets - public void AndWith(EcsGroup group) + public void IntersectWith(EcsGroup group) { #if (DEBUG && !DISABLE_DEBUG) || ENABLE_DRAGONECS_ASSERT_CHEKS if (World != group.World) ThrowArgumentDifferentWorldsException(); @@ -337,9 +336,9 @@ namespace DCFApixels.DragonECS /// as Symmetric Except sets [MethodImpl(MethodImplOptions.AggressiveInlining)] - public void XorWith(EcsReadonlyGroup group) => XorWith(group.GetGroupInternal()); + public void SymmetricExceptWith(EcsReadonlyGroup group) => SymmetricExceptWith(group.GetGroupInternal()); /// as Symmetric Except sets - public void XorWith(EcsGroup group) + public void SymmetricExceptWith(EcsGroup group) { #if (DEBUG && !DISABLE_DEBUG) || ENABLE_DRAGONECS_ASSERT_CHEKS if (_source != group.World) ThrowArgumentDifferentWorldsException(); @@ -390,7 +389,7 @@ namespace DCFApixels.DragonECS } /// as Intersect sets /// new group from pool - public static EcsGroup And(EcsGroup a, EcsGroup b) + public static EcsGroup Intersect(EcsGroup a, EcsGroup b) { #if (DEBUG && !DISABLE_DEBUG) || ENABLE_DRAGONECS_ASSERT_CHEKS if (a._source != b._source) ThrowArgumentDifferentWorldsException(); @@ -404,7 +403,7 @@ namespace DCFApixels.DragonECS /// as Symmetric Except sets /// new group from pool - public static EcsGroup Xor(EcsGroup a, EcsGroup b) + public static EcsGroup SymmetricExcept(EcsGroup a, EcsGroup b) { #if (DEBUG && !DISABLE_DEBUG) || ENABLE_DRAGONECS_ASSERT_CHEKS if (a._source != b._source) ThrowArgumentDifferentWorldsException();