EntityEntryCommands

Struct EntityEntryCommands 

Source
pub struct EntityEntryCommands<'a, T> { /* private fields */ }
Expand description

A wrapper around EntityCommands with convenience methods for working with a specified component type.

Implementations§

Source§

impl<'a, T: Component<Mutability = Mutable>> EntityEntryCommands<'a, T>

Source

pub fn and_modify( &mut self, modify: impl FnOnce(Mut<'_, T>) + Send + Sync + 'static, ) -> &mut Self

Modify the component T if it exists, using the function modify.

Source§

impl<'a, T: Component> EntityEntryCommands<'a, T>

Source

pub fn or_insert(&mut self, default: T) -> &mut Self

Insert default into this entity, if T is not already present.

Source

pub fn or_try_insert(&mut self, default: T) -> &mut Self

Insert default into this entity, if T is not already present.

§Note

If the entity does not exist when this command is executed, the resulting error will be ignored.

Source

pub fn or_insert_with<F>(&mut self, default: F) -> &mut Self
where F: FnOnce() -> T + Send + 'static,

Insert the value returned from default into this entity, if T is not already present.

default will only be invoked if the component will actually be inserted.

Source

pub fn or_try_insert_with<F>(&mut self, default: F) -> &mut Self
where F: FnOnce() -> T + Send + 'static,

Insert the value returned from default into this entity, if T is not already present.

default will only be invoked if the component will actually be inserted.

§Note

If the entity does not exist when this command is executed, the resulting error will be ignored.

Source

pub fn or_default(&mut self) -> &mut Self
where T: Default,

Insert T::default into this entity, if T is not already present.

T::default will only be invoked if the component will actually be inserted.

Source

pub fn or_from_world(&mut self) -> &mut Self
where T: FromWorld,

Insert T::from_world into this entity, if T is not already present.

T::from_world will only be invoked if the component will actually be inserted.

Source

pub fn entity(&mut self) -> EntityCommands<'_>

Get the EntityCommands from which the EntityEntryCommands was initiated.

This allows you to continue chaining method calls after calling EntityCommands::entry.

§Example
#[derive(Component)]
struct Level(u32);

fn level_up_system(mut commands: Commands, player: Res<PlayerEntity>) {
    commands
        .entity(player.entity)
        .entry::<Level>()
        // Modify the component if it exists.
        .and_modify(|mut lvl| lvl.0 += 1)
        // Otherwise, insert a default value.
        .or_insert(Level(0))
        // Return the EntityCommands for the entity.
        .entity()
        // Continue chaining method calls.
        .insert(Name::new("Player"));
}

Auto Trait Implementations§

§

impl<'a, T> Freeze for EntityEntryCommands<'a, T>

§

impl<'a, T> RefUnwindSafe for EntityEntryCommands<'a, T>
where T: RefUnwindSafe,

§

impl<'a, T> Send for EntityEntryCommands<'a, T>
where T: Send,

§

impl<'a, T> Sync for EntityEntryCommands<'a, T>
where T: Sync,

§

impl<'a, T> Unpin for EntityEntryCommands<'a, T>
where T: Unpin,

§

impl<'a, T> !UnwindSafe for EntityEntryCommands<'a, T>

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> Downcast for T
where T: Any,

Source§

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

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

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

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

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

Converts &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)

Converts &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> DowncastSend for T
where T: Any + Send,

Source§

fn into_any_send(self: Box<T>) -> Box<dyn Any + Send>

Converts Box<Trait> (where Trait: DowncastSend) to Box<dyn Any + Send>, which can then be downcast into Box<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> IntoResult<T> for T

Source§

fn into_result(self) -> Result<T, RunSystemError>

Converts this type into the system output type.
Source§

impl<A> Is for A
where A: Any,

Source§

fn is<T>() -> bool
where T: Any,

Checks if the current type “is” another type, using a TypeId equality comparison. This is most useful in the context of generic logic. 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> 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> ConditionalSend for T
where T: Send,