pub struct EffectBundle<B: Bundle> {
pub name: Name,
pub mode: EffectMode,
pub bundle: B,
}Expand description
A “bundle” of components/settings used when applying an effect.
Due to technical limitations, this doesn’t actually implement Bundle.
Instead, purpose build commands (with_effect)
or related spawners (EffectedBy::spawn) should be used.
§Examples
§with_effect
commands.entity(target).with_effect(EffectBundle {
name: Name::new("Effect"),
bundle: MyEffect,
..default()
});§with_effects + EffectSpawner
commands.entity(target).with_effects(|effects| {
effects.spawn(EffectBundle {
name: Name::new("EffectA"),
bundle: MyEffect,
..default()
});
effects.spawn(EffectBundle {
name: Name::new("EffectB"),
bundle: MyEffect,
..default()
});
});§EffectedBy::spawn
commands.spawn((
Name::new("Target"),
EffectedBy::spawn(EffectBundle {
name: Name::new("Effect"),
bundle: MyEffect,
..default()
}),
));Fields§
§name: NameThe name/ID of the effect. Effects with different IDs have no effect on one another.
mode: EffectModeDescribes the logic used when new effect collides with an existing one.
bundle: BComponents that will be added to the effect. This is where the actual effect components get added.
Trait Implementations§
Source§impl<B: Default + Bundle> Default for EffectBundle<B>
impl<B: Default + Bundle> Default for EffectBundle<B>
Source§fn default() -> EffectBundle<B>
fn default() -> EffectBundle<B>
Returns the “default value” for a type. Read more
Source§impl<B: Bundle> SpawnableList<Effecting> for EffectBundle<B>
impl<B: Bundle> SpawnableList<Effecting> for EffectBundle<B>
Auto Trait Implementations§
impl<B> Freeze for EffectBundle<B>where
B: Freeze,
impl<B> RefUnwindSafe for EffectBundle<B>where
B: RefUnwindSafe,
impl<B> Send for EffectBundle<B>
impl<B> Sync for EffectBundle<B>
impl<B> Unpin for EffectBundle<B>where
B: Unpin,
impl<B> UnwindSafe for EffectBundle<B>where
B: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
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>
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)
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)
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
impl<T> DowncastSend for T
Source§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
Source§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Creates Self using default().
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
Source§fn into_result(self) -> Result<T, RunSystemError>
fn into_result(self) -> Result<T, RunSystemError>
Converts this type into the system output type.