Trait shipyard::Delete[][src]

pub trait Delete<T> {
    fn try_delete(self, entity: EntityId) -> Result<(), Remove>;
fn delete(self, entity: EntityId); }
Expand description

Trait used to delete component(s).

Required methods

Deletes the component(s) of an entity, they won’t be returned.
A tuple is always needed, even for a single view.

Example:

use shipyard::{Delete, EntitiesViewMut, ViewMut, World};

let world = World::new();

world.run(
   |mut entities: EntitiesViewMut, mut usizes: ViewMut<usize>, mut u32s: ViewMut<u32>| {
       let entity = entities.add_entity((&mut usizes, &mut u32s), (0, 1));

       Delete::<(usize, u32)>::try_delete((&mut usizes, &mut u32s), entity).unwrap();
   },
);

Deletes the component(s) of an entity, they won’t be returned.
A tuple is always needed, even for a single view.
Unwraps error.

Example:

use shipyard::{Delete, EntitiesViewMut, ViewMut, World};

let world = World::new();

world.run(
   |mut entities: EntitiesViewMut, mut usizes: ViewMut<usize>, mut u32s: ViewMut<u32>| {
       let entity = entities.add_entity((&mut usizes, &mut u32s), (0, 1));

       Delete::<(usize, u32)>::delete((&mut usizes, &mut u32s), entity);
   },
);

Implementations on Foreign Types

Implementors