Remove Components

Removing a component will take it out of the storage and return it.

World

let mut world = World::new(); let id = world.add_entity((Pos::new(), Vel::new())); world.remove::<Vel>(id); world.remove::<(Pos, Vel)>(id);

View

We have to import the Remove trait for multiple components.

let world = World::new(); world.run( |mut entities: EntitiesViewMut, mut vm_pos: ViewMut<Pos>, mut vm_vel: ViewMut<Vel>| { let id = entities.add_entity((&mut vm_pos, &mut vm_vel), (Pos::new(), Vel::new())); vm_pos.remove(id); (&mut vm_pos, &mut vm_vel).remove(id); }, );