From a016763824662dea5dd7e9de0126e33289f0f2bb Mon Sep 17 00:00:00 2001 From: DCFApixels <99481254+DCFApixels@users.noreply.github.com> Date: Tue, 3 Jun 2025 09:49:08 +0800 Subject: [PATCH] Update entlong.cs --- src/entlong.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/entlong.cs b/src/entlong.cs index b93a608..d5ab1ac 100644 --- a/src/entlong.cs +++ b/src/entlong.cs @@ -212,7 +212,7 @@ namespace DCFApixels.DragonECS { if (mask.WorldID != _world) { Throw.ArgumentDifferentWorldsException(); } id = _id; - return mask.World.IsAlive(_id, _gen); + return mask.World.IsAlive(_id, _gen) && mask.World.IsMatchesMask(mask, _id); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool TryUnpack(EcsMask mask, out int id, out short gen) @@ -220,14 +220,14 @@ namespace DCFApixels.DragonECS if (mask.WorldID != _world) { Throw.ArgumentDifferentWorldsException(); } gen = _gen; id = _id; - return mask.World.IsAlive(_id, _gen); + return mask.World.IsAlive(_id, _gen) && mask.World.IsMatchesMask(mask, _id); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool TryUnpack(EcsAspect aspect, out int id) { if (aspect.World.ID != _world) { Throw.ArgumentDifferentWorldsException(); } id = _id; - return aspect.World.IsAlive(_id, _gen); + return aspect.World.IsAlive(_id, _gen) && aspect.IsMatches(_id); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public bool TryUnpack(EcsAspect aspect, out int id, out short gen) @@ -235,7 +235,7 @@ namespace DCFApixels.DragonECS if (aspect.World.ID != _world) { Throw.ArgumentDifferentWorldsException(); } gen = _gen; id = _id; - return aspect.World.IsAlive(_id, _gen); + return aspect.World.IsAlive(_id, _gen) && aspect.IsMatches(_id); } #endregion