From 69cd712ca96ddad6b07aeb6aeea351d876a6fbbc Mon Sep 17 00:00:00 2001 From: timokoesters Date: Sun, 19 May 2019 23:43:45 +0200 Subject: [PATCH] Remove all outdated components when dieing Former-commit-id: 9f320fba441998af24bf52be92260264f183f0d8 --- server/src/lib.rs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/server/src/lib.rs b/server/src/lib.rs index 9dcf47acc7..885637113d 100644 --- a/server/src/lib.rs +++ b/server/src/lib.rs @@ -575,7 +575,7 @@ impl Server { } // Sync deaths. - let todo_remove = ( + let todo_kill = ( &self.state.ecs().entities(), &self.state.ecs().read_storage::(), ) @@ -583,8 +583,15 @@ impl Server { .map(|(entity, _)| entity) .collect::>(); - for entity in todo_remove { - self.state.ecs_mut().delete_entity_synced(entity); + for entity in todo_kill { + self.state.ecs_mut().write_storage::().remove(entity); + self.state.ecs_mut().write_storage::().remove(entity); + self.state.ecs_mut().write_storage::().remove(entity); + self.state.ecs_mut().write_storage::().remove(entity); + self.state.ecs_mut().write_storage::().remove(entity); + self.state.ecs_mut().write_storage::().remove(entity); + self.state.ecs_mut().write_storage::().remove(entity); + self.state.ecs_mut().write_storage::().remove(entity); self.clients .notify(entity, ServerMsg::ForceState(ClientState::Registered)); }