From db6b1d209aab5a7abd286eb84898f5ad838277a5 Mon Sep 17 00:00:00 2001 From: Karpik Date: Tue, 27 Jan 2026 22:46:58 +0400 Subject: [PATCH] Remove components for every entity in world.Destroy() In my situation, it invokes IEcsComponentLifecycle methods --- src/EcsWorld.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/EcsWorld.cs b/src/EcsWorld.cs index 2ce52bb..b1f1771 100644 --- a/src/EcsWorld.cs +++ b/src/EcsWorld.cs @@ -236,6 +236,12 @@ namespace DCFApixels.DragonECS } _isDestroyed = true; _listeners.InvokeOnWorldDestroy(); + foreach (var e in Entities) + { + var count = GetComponentTypeIDsFor_Internal(e, ref _componentIDsBuffer); + var span = _componentIDsBuffer.AsSpan(0, count); + RemoveComponents(e, span); + } _entityDispenser = null; _pools = null; _nullPool = null;