pub struct EntityIdAccessor { /* private fields */ }Implementations§
Source§impl EntityIdAccessor
impl EntityIdAccessor
pub fn new() -> Self
pub fn borrow_ids<T: 'static + Component>( &mut self, manager: &EntityManager, ) -> Option<&Vec<usize>>
Sourcepub fn borrow_ids_for_pair<T1: 'static + Component, T2: 'static + Component>(
&mut self,
manager: &EntityManager,
) -> Option<&Vec<usize>>
pub fn borrow_ids_for_pair<T1: 'static + Component, T2: 'static + Component>( &mut self, manager: &EntityManager, ) -> Option<&Vec<usize>>
Examples found in repository?
examples/move/main.rs (line 52)
51 fn update(&mut self, manager: &mut EntityManager, accessor: &mut EntityIdAccessor) {
52 let entity_ids = accessor.borrow_ids_for_pair::<Velocity, Position>(manager).unwrap();
53 for id in entity_ids.iter() {
54 let (velocity, mut position) = manager.borrow_component_pair_mut::<Velocity, Position>(*id).unwrap();
55 position.x += velocity.x;
56 position.y += velocity.y;
57 }
58 }
59}
60
61impl System for PrintPositionSystem {
62 fn update(&mut self, manager: &mut EntityManager, accessor: &mut EntityIdAccessor) {
63 let entity_ids = accessor.borrow_ids_for_pair::<Namable, Position>(manager).unwrap();
64 for id in entity_ids.iter() {
65 let name = manager.borrow_component::<Namable>(*id).unwrap();
66 let position = manager.borrow_component::<Position>(*id).unwrap();
67 println!("{} is at ({}, {})", name.name, position.x, position.y);
68 }
69 }pub fn borrow_ids_for_triple<T1: 'static + Component, T2: 'static + Component, T3: 'static + Component>( &mut self, manager: &EntityManager, ) -> Option<&Vec<usize>>
pub fn borrow_ids_for_quad<T1: 'static + Component, T2: 'static + Component, T3: 'static + Component, T4: 'static + Component>( &mut self, manager: &EntityManager, ) -> Option<&Vec<usize>>
Auto Trait Implementations§
impl Freeze for EntityIdAccessor
impl RefUnwindSafe for EntityIdAccessor
impl Send for EntityIdAccessor
impl Sync for EntityIdAccessor
impl Unpin for EntityIdAccessor
impl UnsafeUnpin for EntityIdAccessor
impl UnwindSafe for EntityIdAccessor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more