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));
},
);