Struct Sender

Source
pub struct Sender<'a, T>
where T: EventSet,
{ /* private fields */ }
Expand description

A HandlerParam for sending events from the set T.

For more information, see the relevant tutorial chapter.

Implementations§

Source§

impl<T> Sender<'_, T>
where T: EventSet,

Source

pub fn send<E>(&mut self, event: E)
where E: GlobalEvent + 'static,

Add a GlobalEvent to the queue of events to send.

The queue is flushed once all handlers for the current event have run.

§Panics
  • Panics if E is not in the EventSet of this sender.
Source

pub fn send_to<E>(&mut self, target: EntityId, event: E)
where E: TargetedEvent + 'static,

Add a TargetedEvent to the queue of events to send.

The queue is flushed once all handlers for the current event have run.

Source

pub fn spawn(&mut self) -> EntityId

Queue the creation of a new entity.

This returns the EntityId of the to-be-spawned entity and queues the Spawn event. Note that the returned EntityId may not be valid until after the Spawn event has finished broadcasting.

The new entity will be spawned without any components attached, and the returned EntityId will not have been used by any previous entities.

§Panics

Panics if Spawn is not in the EventSet of this sender.

Source

pub fn insert<C>(&mut self, target: EntityId, component: C)
where C: Component,

Queue an Insert event.

This is equivalent to:

sender.send_to(target, Insert(component));
§Panics

Panics if Insert<C> is not in the EventSet of this sender.

Source

pub fn remove<C>(&mut self, target: EntityId)
where C: Component,

Queue a Remove event.

This is equivalent to:

sender.send_to(target, Remove::<C>);
§Panics

Panics if Remove<C> is not in the EventSet of this sender.

Source

pub fn despawn(&mut self, target: EntityId)

Queue a Despawn event.

This is equivalent to:

sender.send_to(target, Despawn);
§Panics

Panics if Despawn is not in the EventSet of this sender.

Trait Implementations§

Source§

impl<'a, T> Clone for Sender<'a, T>
where T: Clone + EventSet, <T as EventSet>::Indices: Clone,

Source§

fn clone(&self) -> Sender<'a, T>

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl<T> Debug for Sender<'_, T>
where T: EventSet, <T as EventSet>::Indices: Debug,

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl<T> HandlerParam for Sender<'_, T>
where T: EventSet,

Source§

type State = <T as EventSet>::Indices

Persistent data stored in the handler.
Source§

type This<'a> = Sender<'a, T>

The type produced by this handler param. This must be the type of Self but with the lifetime of 'a.
Source§

fn init( world: &mut World, config: &mut HandlerConfig, ) -> Result<<Sender<'_, T> as HandlerParam>::State, InitError>

Initializes the handler using the input World and HandlerConfig. Read more
Source§

unsafe fn get<'a>( state: &'a mut <Sender<'_, T> as HandlerParam>::State, _info: &'a HandlerInfo, _event_ptr: EventPtr<'a>, _target_location: EntityLocation, world: UnsafeWorldCell<'a>, ) -> <Sender<'_, T> as HandlerParam>::This<'a>

Obtains a new instance of the handler parameter. Read more
Source§

fn refresh_archetype( _state: &mut <Sender<'_, T> as HandlerParam>::State, _arch: &Archetype, )

Refresh an archetype for this handler param. Called whenever Handler::refresh_archetype is called.
Source§

fn remove_archetype( _state: &mut <Sender<'_, T> as HandlerParam>::State, _arch: &Archetype, )

Remove the given archetype for this handler param. Called whenever Handler::remove_archetype is called.
Source§

impl<'a, T> Copy for Sender<'a, T>
where T: Copy + EventSet, <T as EventSet>::Indices: Copy,

Auto Trait Implementations§

§

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

§

impl<'a, T> !RefUnwindSafe for Sender<'a, T>

§

impl<'a, T> !Send for Sender<'a, T>

§

impl<'a, T> !Sync for Sender<'a, T>

§

impl<'a, T> Unpin for Sender<'a, T>

§

impl<'a, T> !UnwindSafe for Sender<'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> 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> 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> 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