Struct oxygengine_core::ecs::EntityRef [−][src]
pub struct EntityRef<'a> { /* fields omitted */ }Expand description
Handle to an entity with any component types
Implementations
Borrow the component of type T, if it exists
Panics if the component is already uniquely borrowed from another entity with the same components.
Uniquely borrow the component of type T, if it exists
Panics if the component is already borrowed from another entity with the same components.
Run a query against this entity
Equivalent to invoking World::query_one on the entity. May
outlive self.
Example
let mut world = World::new();
let a = world.spawn((123, true, "abc"));
// The returned query must outlive the borrow made by `get`
let mut query = world.entity(a).unwrap().query::<(&mut i32, &bool)>();
let (number, flag) = query.get().unwrap();
if *flag { *number *= 2; }
assert_eq!(*number, 246);Enumerate the types of the entity’s components
Convenient for dispatching component-specific logic for a single entity. For example, this
can be combined with a HashMap<TypeId, Box<dyn Handler>> where Handler is some
user-defined trait with methods for serialization, or to be called after spawning or before
despawning to maintain secondary indices.
Trait Implementations
Auto Trait Implementations
impl<'a> RefUnwindSafe for EntityRef<'a>
impl<'a> UnwindSafe for EntityRef<'a>
Blanket Implementations
Mutably borrows from an owned value. Read more