Skip to main content

EventBus

Struct EventBus 

Source
pub struct EventBus { /* private fields */ }
Expand description

A publish-subscribe event bus for decoupled inter-entity communication.

Entities and game systems can subscribe to named event channels and emit events that are dispatched to all registered handlers.

Implementations§

Source§

impl EventBus

Implements event subscription, emission, and management for EventBus.

Source

pub fn create() -> EventBus

Creates a new empty event bus.

§Returns
  • EventBus - The new event bus.
Source

pub fn subscribe(&mut self, event_name: String, handler: EventHandler)

Subscribes a handler to the named event channel.

§Arguments
  • String - The event name to subscribe to.
  • EventHandler - The handler closure to call when the event is emitted.
Source

pub fn emit(&self, event: &EntityEvent)

Emits an event to all handlers subscribed to the matching channel.

The event name is derived from the EntityEvent variant.

§Arguments
  • &EntityEvent - The event to emit.
Source

pub fn unsubscribe_all(&mut self, event_name: &str)

Removes all handlers for the named event channel.

§Arguments
  • &str - The event name to clear.
Source

pub fn handler_count(&self, event_name: &str) -> usize

Returns the number of handlers registered for the named event.

§Arguments
  • &str - The event name.
§Returns
  • usize - The handler count.
Source§

impl EventBus

Source

pub fn get_handlers(&self) -> &EventHandlers

Source

pub fn set_handlers(&mut self, val: EventHandlers) -> &mut Self

Source§

impl EventBus

Source

pub fn new() -> Self

Trait Implementations§

Source§

impl Clone for EventBus

Source§

fn clone(&self) -> EventBus

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Default for EventBus

Implements Default for EventBus as a new empty bus.

Source§

fn default() -> EventBus

Returns the “default value” for a type. Read more

Auto Trait Implementations§

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, 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<S, T> Upcast<T> for S
where T: UpcastFrom<S> + ?Sized, S: ?Sized,

Source§

fn upcast(&self) -> &T
where Self: ErasableGeneric, T: Sized + ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider ref type within the Wasm bindgen generics type system. Read more
Source§

fn upcast_into(self) -> T
where Self: Sized + ErasableGeneric, T: Sized + ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider type within the Wasm bindgen generics type system. Read more