Struct Receiver

Source
pub struct Receiver<'a, E, Q = NullReceiverQuery>
where E: Event, Q: ReceiverQuery + 'static,
{ pub event: &'a <E as Event>::This<'a>, pub query: <Q as ReceiverQuery>::Item<'a>, }
Expand description

A HandlerParam which listens for events of type E.

For more information, see the relevant tutorial chapter.

§Examples

use evenio::prelude::*;

#[derive(GlobalEvent)]
struct E;

let mut world = World::new();

world.add_handler(|r: Receiver<E>| {
    println!("got event of type E!");
});

Fields§

§event: &'a <E as Event>::This<'a>

A reference to the received event.

§query: <Q as ReceiverQuery>::Item<'a>

The result of the query. This field is meaningless if E is not a TargetedEvent.

Trait Implementations§

Source§

impl<'a, E, Q> Clone for Receiver<'a, E, Q>
where E: Clone + Event, Q: Clone + ReceiverQuery + 'static, <E as Event>::This<'a>: Clone, <Q as ReceiverQuery>::Item<'a>: Clone,

Source§

fn clone(&self) -> Receiver<'a, E, Q>

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<'a, E> Debug for Receiver<'a, E>
where E: GlobalEvent, <E as Event>::This<'a>: Debug,

Source§

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

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

impl<'a, E, Q> Debug for Receiver<'a, E, Q>
where E: TargetedEvent, <E as Event>::This<'a>: Debug, Q: Query, <Q as Query>::Item<'a>: Debug,

Source§

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

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

impl<E> HandlerParam for Receiver<'_, E>
where E: GlobalEvent,

Source§

type State = ()

Persistent data stored in the handler.
Source§

type This<'a> = Receiver<'a, E>

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<<Receiver<'_, E> as HandlerParam>::State, InitError>

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

unsafe fn get<'a>( _state: &'a mut <Receiver<'_, E> as HandlerParam>::State, _info: &'a HandlerInfo, event_ptr: EventPtr<'a>, _target_location: EntityLocation, _world: UnsafeWorldCell<'a>, ) -> <Receiver<'_, E> as HandlerParam>::This<'a>

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

fn refresh_archetype( _state: &mut <Receiver<'_, E> 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 <Receiver<'_, E> as HandlerParam>::State, _arch: &Archetype, )

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

impl<E, Q> HandlerParam for Receiver<'_, E, Q>
where E: TargetedEvent, Q: Query + 'static,

Source§

type State = FetcherState<Q>

Persistent data stored in the handler.
Source§

type This<'a> = Receiver<'a, E, Q>

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<<Receiver<'_, E, Q> as HandlerParam>::State, InitError>

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

unsafe fn get<'a>( state: &'a mut <Receiver<'_, E, Q> as HandlerParam>::State, _info: &'a HandlerInfo, event_ptr: EventPtr<'a>, target_location: EntityLocation, _world: UnsafeWorldCell<'a>, ) -> <Receiver<'_, E, Q> as HandlerParam>::This<'a>

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

fn refresh_archetype( state: &mut <Receiver<'_, E, Q> 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 <Receiver<'_, E, Q> as HandlerParam>::State, arch: &Archetype, )

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

impl<'a, E, Q> Copy for Receiver<'a, E, Q>
where E: Copy + Event, Q: Copy + ReceiverQuery + 'static, <E as Event>::This<'a>: Copy, <Q as ReceiverQuery>::Item<'a>: Copy,

Auto Trait Implementations§

§

impl<'a, E, Q> Freeze for Receiver<'a, E, Q>
where <Q as ReceiverQuery>::Item<'a>: Freeze,

§

impl<'a, E, Q> RefUnwindSafe for Receiver<'a, E, Q>
where <Q as ReceiverQuery>::Item<'a>: RefUnwindSafe, <E as Event>::This<'a>: RefUnwindSafe,

§

impl<'a, E, Q> Send for Receiver<'a, E, Q>
where <Q as ReceiverQuery>::Item<'a>: Send, <E as Event>::This<'a>: Sync,

§

impl<'a, E, Q> Sync for Receiver<'a, E, Q>
where <Q as ReceiverQuery>::Item<'a>: Sync, <E as Event>::This<'a>: Sync,

§

impl<'a, E, Q> Unpin for Receiver<'a, E, Q>
where <Q as ReceiverQuery>::Item<'a>: Unpin,

§

impl<'a, E, Q> UnwindSafe for Receiver<'a, E, Q>
where <Q as ReceiverQuery>::Item<'a>: UnwindSafe, <E as Event>::This<'a>: RefUnwindSafe,

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