Skip to main content

EntityRef

Struct EntityRef 

Source
pub struct EntityRef<'w> { /* private fields */ }
Expand description

A read-only reference to a particular Entity and all of its components

Implementations§

Source§

impl<'w> EntityRef<'w>

Source

pub fn id(&self) -> Entity

Source

pub fn location(&self) -> EntityLocation

Source

pub fn archetype(&self) -> &Archetype

Source

pub fn world(&self) -> &'w World

Source

pub fn contains<T>(&self) -> bool
where T: Component,

Source

pub fn contains_id(&self, component_id: ComponentId) -> bool

Source

pub fn contains_type_id(&self, type_id: TypeId) -> bool

Source

pub fn get<T>(&self) -> Option<&'w T>
where T: Component,

Source

pub fn get_change_ticks<T>(&self) -> Option<&'w ComponentTicks>
where T: Component,

Retrieves the change ticks for the given component. This can be useful for implementing change detection in custom runtimes.

Source

pub unsafe fn get_unchecked_mut<T>( &self, last_change_tick: u32, change_tick: u32, ) -> Option<Mut<'w, T>>
where T: Component,

Gets a mutable reference to the component of type T associated with this entity without ensuring there are no other borrows active and without ensuring that the returned reference will stay valid.

§Safety
  • The returned reference must never alias a mutable borrow of this component.
  • The returned reference must not be used after this component is moved which may happen from any insert_component, remove_component or despawn operation on this world (non-exhaustive list).
Source§

impl<'w> EntityRef<'w>

Source

pub fn get_by_id(&self, component_id: ComponentId) -> Option<Ptr<'w>>

Gets the component of the given ComponentId from the entity.

You should prefer to use the typed API where possible and only use this in cases where the actual component types are not known at compile time.

Unlike EntityRef::get, this returns a raw pointer to the component, which is only valid while the 'w borrow of the lifetime is active.

Trait Implementations§

Source§

impl<'w> Clone for EntityRef<'w>

Source§

fn clone(&self) -> EntityRef<'w>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'w> From<EntityMut<'w>> for EntityRef<'w>

Source§

fn from(entity_mut: EntityMut<'w>) -> EntityRef<'w>

Converts to this type from the input type.
Source§

impl<'w> Copy for EntityRef<'w>

Auto Trait Implementations§

§

impl<'w> Freeze for EntityRef<'w>

§

impl<'w> !RefUnwindSafe for EntityRef<'w>

§

impl<'w> Send for EntityRef<'w>

§

impl<'w> Sync for EntityRef<'w>

§

impl<'w> Unpin for EntityRef<'w>

§

impl<'w> UnsafeUnpin for EntityRef<'w>

§

impl<'w> !UnwindSafe for EntityRef<'w>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> TypeData for T
where T: 'static + Send + Sync + Clone,

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> Event for T
where T: Send + Sync + 'static,