pub struct EntityRef<'a> { /* private fields */ }Expand description
Borrow all the components of an entity at once.
This is handy to borrow an entity and perform multiple operations on it without mentioning the id and performing re-lookups.
Implementations§
source§impl<'a> EntityRef<'a>
impl<'a> EntityRef<'a>
sourcepub fn get<T: ComponentValue>(
&self,
component: Component<T>
) -> Result<AtomicRef<'a, T>, MissingComponent>
pub fn get<T: ComponentValue>( &self, component: Component<T> ) -> Result<AtomicRef<'a, T>, MissingComponent>
Access a component
sourcepub fn get_mut<T: ComponentValue>(
&self,
component: Component<T>
) -> Result<RefMut<'a, T>, MissingComponent>
pub fn get_mut<T: ComponentValue>( &self, component: Component<T> ) -> Result<RefMut<'a, T>, MissingComponent>
Access a component mutably
sourcepub fn get_copy<T: ComponentValue + Copy>(
&self,
component: Component<T>
) -> Result<T, MissingComponent>
pub fn get_copy<T: ComponentValue + Copy>( &self, component: Component<T> ) -> Result<T, MissingComponent>
Shorthand to copy and not use a borrowing references
sourcepub fn has<T: ComponentValue>(&self, component: Component<T>) -> bool
pub fn has<T: ComponentValue>(&self, component: Component<T>) -> bool
Check if the entity currently has the specified component without borrowing.
sourcepub fn update<T: ComponentValue, U>(
&self,
component: Component<T>,
f: impl FnOnce(&mut T) -> U
) -> Option<U>
pub fn update<T: ComponentValue, U>( &self, component: Component<T>, f: impl FnOnce(&mut T) -> U ) -> Option<U>
Updates a component in place
sourcepub fn update_dedup<T: ComponentValue + PartialEq>(
&self,
component: Component<T>,
value: T
) -> Option<()>
pub fn update_dedup<T: ComponentValue + PartialEq>( &self, component: Component<T>, value: T ) -> Option<()>
Updates a component in place
sourcepub fn query<'q, Q: Fetch<'q>>(&'q self, query: &'q Q) -> QueryOne<'q, Q>
pub fn query<'q, Q: Fetch<'q>>(&'q self, query: &'q Q) -> QueryOne<'q, Q>
Perform a query on the entity
sourcepub fn try_get<T: ComponentValue>(
&self,
component: Component<T>
) -> Result<Option<AtomicRef<'_, T>>, BorrowError>
pub fn try_get<T: ComponentValue>( &self, component: Component<T> ) -> Result<Option<AtomicRef<'_, T>>, BorrowError>
Attempt concurrently access a component mutably using and fail if the component is already borrowed
sourcepub fn try_get_mut<T: ComponentValue>(
&self,
component: Component<T>
) -> Result<Option<RefMut<'_, T>>, BorrowMutError>
pub fn try_get_mut<T: ComponentValue>( &self, component: Component<T> ) -> Result<Option<RefMut<'_, T>>, BorrowMutError>
Attempt to concurrently access a component mutably using and fail if the component is already borrowed
sourcepub fn relations<T: ComponentValue>(
&self,
relation: impl RelationExt<T>
) -> RelationIter<'a, T> ⓘ
pub fn relations<T: ComponentValue>( &self, relation: impl RelationExt<T> ) -> RelationIter<'a, T> ⓘ
Returns all relations to other entities of the specified kind
sourcepub fn relations_mut<T: ComponentValue>(
&self,
relation: impl RelationExt<T>
) -> RelationIterMut<'a, T> ⓘ
pub fn relations_mut<T: ComponentValue>( &self, relation: impl RelationExt<T> ) -> RelationIterMut<'a, T> ⓘ
Returns all relations to other entities of the specified kind