From c4109b010cc938ed729505f48eafebc0f3fe86a0 Mon Sep 17 00:00:00 2001 From: DCFApixels <99481254+DCFApixels@users.noreply.github.com> Date: Thu, 13 Mar 2025 16:41:23 +0800 Subject: [PATCH] Update MaskQueryExecutor.cs --- src/Executors/MaskQueryExecutor.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Executors/MaskQueryExecutor.cs b/src/Executors/MaskQueryExecutor.cs index 96e786a..6d8d3c4 100644 --- a/src/Executors/MaskQueryExecutor.cs +++ b/src/Executors/MaskQueryExecutor.cs @@ -109,6 +109,7 @@ namespace DCFApixels.DragonECS.Core // [-> _maskInc.Length] inc versions // [-> _maskExc.Length] exc versions private readonly long* _versions; + private readonly int _count; public long Version { [MethodImpl(MethodImplOptions.AggressiveInlining)] @@ -120,7 +121,8 @@ namespace DCFApixels.DragonECS.Core _world = mask.World; _maskInc = mask._incs; _maskExc = mask._excs; - _versions = UnmanagedArrayUtility.NewAndInit(1 + mask._incs.Length + mask._excs.Length); + _count = 1 + mask._incs.Length + mask._excs.Length; + _versions = UnmanagedArrayUtility.NewAndInit(_count); } public bool Check() { @@ -176,7 +178,7 @@ namespace DCFApixels.DragonECS.Core long* ptr = _versions; var slots = _world._poolSlots; - bool result = _maskInc.Length > 0 || _maskExc.Length > 0; + bool result = _count != 1; foreach (var slotIndex in _maskInc) { ptr++;