Struct bevy_mod_picking::prelude::On
pub struct On<E>where
E: EntityEvent,{ /* private fields */ }
Expand description
An event listener with a callback that is triggered when an EntityEvent
bubbles past or
targets this entity.
Implementations§
§impl<E> On<E>where
E: EntityEvent,
impl<E> On<E>where E: EntityEvent,
pub fn run<Marker>(callback: impl IntoSystem<(), (), Marker>) -> On<E>
pub fn run<Marker>(callback: impl IntoSystem<(), (), Marker>) -> On<E>
Run a callback system every time this event listener is triggered. This can be a closure or
a function, as described by bevy’s documentation. The only notable difference from Bevy
systems is that the callback system can access a resource with event data,
[ListenerInput
]. You can more easily access this with the system params
Listener
and ListenerMut
.
pub fn add_command<C>() -> On<E>where
C: From<ListenerInput<E>> + Command + Send + Sync + 'static,
pub fn add_command<C>() -> On<E>where C: From<ListenerInput<E>> + Command + Send + Sync + 'static,
Add a single [Command
] any time this event listener is triggered. The command must
implement From<E>
.
pub fn commands_mut(
func: fn(_: &ListenerInput<E>, _: &mut Commands<'_, '_>)
) -> On<E>
pub fn commands_mut( func: fn(_: &ListenerInput<E>, _: &mut Commands<'_, '_>) ) -> On<E>
Get mutable access to [Commands
] any time this event listener is triggered.
pub fn target_commands_mut(
func: fn(_: &ListenerInput<E>, _: &mut EntityCommands<'_, '_, '_>)
) -> On<E>
pub fn target_commands_mut( func: fn(_: &ListenerInput<E>, _: &mut EntityCommands<'_, '_, '_>) ) -> On<E>
Get mutable access to the target entity’s [EntityCommands
] using a closure any time this
event listener is triggered.
pub fn target_insert(bundle: impl Bundle + Clone) -> On<E>
pub fn target_insert(bundle: impl Bundle + Clone) -> On<E>
Insert a bundle on the target entity any time this event listener is triggered.
pub fn target_remove<B>() -> On<E>where
B: Bundle,
pub fn target_remove<B>() -> On<E>where B: Bundle,
Remove a bundle from the target entity any time this event listener is triggered.
pub fn target_component_mut<C>(
func: fn(_: &ListenerInput<E>, _: &mut C)
) -> On<E>where
C: Component,
pub fn target_component_mut<C>( func: fn(_: &ListenerInput<E>, _: &mut C) ) -> On<E>where C: Component,
Get mutable access to a specific component on the target entity using a closure any time this event listener is triggered. If the component does not exist, an error will be logged.
pub fn listener_commands_mut(
func: fn(_: &ListenerInput<E>, _: &mut EntityCommands<'_, '_, '_>)
) -> On<E>
pub fn listener_commands_mut( func: fn(_: &ListenerInput<E>, _: &mut EntityCommands<'_, '_, '_>) ) -> On<E>
Get mutable access to the listener entity’s [EntityCommands
] using a closure any time this
event listener is triggered.
pub fn listener_insert(bundle: impl Bundle + Clone) -> On<E>
pub fn listener_insert(bundle: impl Bundle + Clone) -> On<E>
Insert a bundle on the listener entity any time this event listener is triggered.
pub fn listener_remove<B>() -> On<E>where
B: Bundle,
pub fn listener_remove<B>() -> On<E>where B: Bundle,
Remove a bundle from the listener entity any time this event listener is triggered.
pub fn listener_component_mut<C>(
func: fn(_: &ListenerInput<E>, _: &mut C)
) -> On<E>where
C: Component,
pub fn listener_component_mut<C>( func: fn(_: &ListenerInput<E>, _: &mut C) ) -> On<E>where C: Component,
Get mutable access to a specific component on the listener entity using a closure any time this event listener is triggered. If the component does not exist, an error will be logged.
pub fn send_event<F>() -> On<E>where
F: Event + From<ListenerInput<E>>,
pub fn send_event<F>() -> On<E>where F: Event + From<ListenerInput<E>>,
Send an event F
any time this event listener is triggered.
Trait Implementations§
Auto Trait Implementations§
impl<E> !RefUnwindSafe for On<E>
impl<E> Send for On<E>
impl<E> Sync for On<E>
impl<E> Unpin for On<E>where E: Unpin,
impl<E> !UnwindSafe for On<E>
Blanket Implementations§
§impl<T, U> AsBindGroupShaderType<U> for Twhere
U: ShaderType,
&'a T: for<'a> Into<U>,
impl<T, U> AsBindGroupShaderType<U> for Twhere U: ShaderType, &'a T: for<'a> Into<U>,
§fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U
T
[ShaderType
] for self
. When used in [AsBindGroup
]
derives, it is safe to assume that all images in self
exist.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
§impl<C> Bundle for Cwhere
C: Component,
impl<C> Bundle for Cwhere C: Component,
fn component_ids( components: &mut Components, storages: &mut Storages, ids: &mut impl FnMut(ComponentId) )
unsafe fn from_components<T, F>(ctx: &mut T, func: &mut F) -> Cwhere F: for<'a> FnMut(&'a mut T) -> OwningPtr<'a, Aligned>,
fn get_components( self, func: &mut impl FnMut(StorageType, OwningPtr<'_, Aligned>) )
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any, Global>
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
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere T: Default,
§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Self
using data from the given [World]