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 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