From 8f62b81e156579397e9990d4fcb2ba8239535555 Mon Sep 17 00:00:00 2001 From: hodasemi Date: Thu, 6 Mar 2025 15:32:05 +0100 Subject: [PATCH] Fix component change --- ecs/src/world.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ecs/src/world.rs b/ecs/src/world.rs index 65052d1..12044bd 100644 --- a/ecs/src/world.rs +++ b/ecs/src/world.rs @@ -212,10 +212,8 @@ impl World { Ok(()) } - pub fn remove_entity(&mut self, entity: Entity) -> Result> { + pub fn remove_entity(&mut self, entity: Entity) { self.entities_to_remove.push(entity); - - Ok(None) } pub fn execute_archetype(&mut self, name: impl ToString) -> Result<()> { @@ -360,8 +358,9 @@ impl World { for (entity, changes) in core::mem::take(&mut self.entities_updates) { self.updates.remove_entity(entity); + self.archetypes.remove_entity(entity); - if let Some(entity_object) = unsafe { self.entity_mut_unchecked(entity).ok() } { + if let Ok(entity_object) = unsafe { self.entity_mut_unchecked(entity) } { entity_object.activation_state.apply_change(); for change in changes { @@ -390,6 +389,7 @@ impl World { entity_object.activation_state.apply_change(); self.updates.add_entity(entity_object, &self.entities)?; + self.archetypes.add_entity(entity_object)?; } }