Trait shipyard::Get[][src]

pub trait Get {
    type Out;
    fn try_get(self, entity: EntityId) -> Result<Self::Out, MissingComponent>;
fn get(self, entity: EntityId) -> Self::Out; }
Expand description

Retrives components based on their type and entity id.

Associated Types

Required methods

Retrieve components of entity.

Multiple components can be queried at the same time using a tuple.

Example:

use shipyard::{EntitiesViewMut, Get, 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), (0usize, 1u32));
        assert_eq!((&usizes, &u32s).try_get(entity), Ok((&0, &1)));
    },
);

Retrieve components of entity.
Unwraps errors.

Multiple components can be queried at the same time using a tuple.

Example:

use shipyard::{EntitiesViewMut, Get, 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), (0usize, 1u32));
        assert_eq!((&usizes, &u32s).get(entity), (&0, &1));
    },
);

Implementations on Foreign Types

Implementors