From 2f0f817b0835d07d0f03daf9e0b5ab9474c93d46 Mon Sep 17 00:00:00 2001 From: Ukendio Date: Fri, 26 Jul 2024 16:15:12 +0200 Subject: [PATCH] Optimize remove --- src/init.luau | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/init.luau b/src/init.luau index b2f4b5d2..c4231d8e 100644 --- a/src/init.luau +++ b/src/init.luau @@ -512,7 +512,6 @@ end local function archetype_traverse_remove(world: World, componentId: i53, from: Archetype): Archetype - from = from or world.ROOT_ARCHETYPE local edge = edge_ensure(from, componentId) local remove = edge.remove @@ -534,6 +533,9 @@ local function world_remove(world: World, entityId: i53, componentId: i53) local entityIndex = world.entityIndex local record = entityIndex.sparse[entityId] local sourceArchetype = record.archetype + if not sourceArchetype then + return + end local destinationArchetype = archetype_traverse_remove(world, componentId, sourceArchetype) if sourceArchetype and not (sourceArchetype == destinationArchetype) then