From b5c4a6949e9ec92125bb9bf7aeb840b2e75a8e98 Mon Sep 17 00:00:00 2001 From: DCFApixels <99481254+DCFApixels@users.noreply.github.com> Date: Sat, 15 Mar 2025 15:24:44 +0800 Subject: [PATCH] remove System.Span dependency --- src/EcsWorld.pools.cs | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/EcsWorld.pools.cs b/src/EcsWorld.pools.cs index 178aa78..6d4dba1 100644 --- a/src/EcsWorld.pools.cs +++ b/src/EcsWorld.pools.cs @@ -286,11 +286,6 @@ namespace DCFApixels.DragonECS } CheckUnregisterValid(count, entityID); } - private Span GetEntityComponentMask(int entityID) - { - return new Span(_entityComponentMasks, entityID << _entityComponentMaskLengthBitShift, _entityComponentMaskLength); - } - [MethodImpl(MethodImplOptions.AggressiveInlining)] private bool TryRegisterEntityComponent(int entityID, int componentTypeID, EcsMaskChunck maskBit) { @@ -336,17 +331,20 @@ namespace DCFApixels.DragonECS { #if DEBUG if (count < 0) { Throw.World_InvalidIncrementComponentsBalance(); } -#elif DRAGONECS_STABILITY_MODE +//#elif DRAGONECS_STABILITY_MODE if (count < 0) { - var mask = GetEntityComponentMask(entityID); - for (int i = 0; i < mask.Length; i++) { mask[i] = 0; } + for (int i = entityID << _entityComponentMaskLengthBitShift, iMax = i + _entityComponentMaskLength; i < iMax; i++) + { + _entityComponentMasks[i] = 0; + } //TODO добавить очистку пулов _entities[entityID].componentsCount = 0; } #endif } + [MethodImpl(MethodImplOptions.AggressiveInlining)] private int GetPoolComponentCount(int componentTypeID) {