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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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<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> ConditionalSend for T
where T: Send,