From 0e23e1d86f994344602870955700c2d21b7f717d Mon Sep 17 00:00:00 2001 From: Thinkofname Date: Fri, 8 Apr 2016 21:36:20 +0100 Subject: [PATCH] Fix entities not correctly being removed on switching servers --- src/ecs/mod.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/ecs/mod.rs b/src/ecs/mod.rs index 65045de..f53d0b7 100644 --- a/src/ecs/mod.rs +++ b/src/ecs/mod.rs @@ -258,10 +258,14 @@ impl Manager { /// Deallocates all entities/components excluding the world entity pub fn remove_all_entities(&mut self, world: &mut world::World, renderer: &mut render::Renderer) { - for e in &mut self.entities[1..] { + for (id, e) in self.entities[1..].iter_mut().enumerate() { if let Some(set) = e.0.as_mut() { set.components = BSet::new(self.components.len()); set.removed = true; + self.changed_entity_components.insert(Entity{ + id: id + 1, + generation: e.1, + }); } } self.process_entity_changes(world, renderer);