Trait bevy_cobweb::react::ReactionTriggerBundle

source ·
pub trait ReactionTriggerBundle: Copy + Clone + Send + Sync + 'static {
    // Required methods
    fn len(&self) -> usize;
    fn collect_reactor_types(self, func: &mut impl FnMut(ReactorType));
    fn register_triggers(
        self,
        commands: &mut Commands<'_, '_>,
        handle: &ReactorHandle,
    );
}
Expand description

Helper trait for registering reactors with ReactCommands.

All members of a trigger bundle must implement ReactionTriggerBundle. You should implement ReactionTrigger on the root members of a bundle.

Required Methods§

source

fn len(&self) -> usize

Gets the number of triggers in the bundle

source

fn collect_reactor_types(self, func: &mut impl FnMut(ReactorType))

Traverses reactor types in the bundle.

source

fn register_triggers( self, commands: &mut Commands<'_, '_>, handle: &ReactorHandle, )

Registers reactors and passes the reactor types to the injected function.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl ReactionTriggerBundle for ()

source§

fn len(&self) -> usize

source§

fn collect_reactor_types(self, func: &mut impl FnMut(ReactorType))

source§

fn register_triggers( self, commands: &mut Commands<'_, '_>, handle: &ReactorHandle, )

source§

impl<B0: ReactionTriggerBundle> ReactionTriggerBundle for (B0,)

source§

fn len(&self) -> usize

source§

fn collect_reactor_types(self, func: &mut impl FnMut(ReactorType))

source§

fn register_triggers( self, commands: &mut Commands<'_, '_>, handle: &ReactorHandle, )

source§

impl<B0: ReactionTriggerBundle, B1: ReactionTriggerBundle> ReactionTriggerBundle for (B0, B1)

source§

fn len(&self) -> usize

source§

fn collect_reactor_types(self, func: &mut impl FnMut(ReactorType))

source§

fn register_triggers( self, commands: &mut Commands<'_, '_>, handle: &ReactorHandle, )

source§

impl<B0: ReactionTriggerBundle, B1: ReactionTriggerBundle, B2: ReactionTriggerBundle> ReactionTriggerBundle for (B0, B1, B2)

source§

fn len(&self) -> usize

source§

fn collect_reactor_types(self, func: &mut impl FnMut(ReactorType))

source§

fn register_triggers( self, commands: &mut Commands<'_, '_>, handle: &ReactorHandle, )

source§

impl<B0: ReactionTriggerBundle, B1: ReactionTriggerBundle, B2: ReactionTriggerBundle, B3: ReactionTriggerBundle> ReactionTriggerBundle for (B0, B1, B2, B3)

source§

fn len(&self) -> usize

source§

fn collect_reactor_types(self, func: &mut impl FnMut(ReactorType))

source§

fn register_triggers( self, commands: &mut Commands<'_, '_>, handle: &ReactorHandle, )

source§

impl<B0: ReactionTriggerBundle, B1: ReactionTriggerBundle, B2: ReactionTriggerBundle, B3: ReactionTriggerBundle, B4: ReactionTriggerBundle> ReactionTriggerBundle for (B0, B1, B2, B3, B4)

source§

fn len(&self) -> usize

source§

fn collect_reactor_types(self, func: &mut impl FnMut(ReactorType))

source§

fn register_triggers( self, commands: &mut Commands<'_, '_>, handle: &ReactorHandle, )

source§

impl<B0: ReactionTriggerBundle, B1: ReactionTriggerBundle, B2: ReactionTriggerBundle, B3: ReactionTriggerBundle, B4: ReactionTriggerBundle, B5: ReactionTriggerBundle> ReactionTriggerBundle for (B0, B1, B2, B3, B4, B5)

source§

fn len(&self) -> usize

source§

fn collect_reactor_types(self, func: &mut impl FnMut(ReactorType))

source§

fn register_triggers( self, commands: &mut Commands<'_, '_>, handle: &ReactorHandle, )

source§

impl<B0: ReactionTriggerBundle, B1: ReactionTriggerBundle, B2: ReactionTriggerBundle, B3: ReactionTriggerBundle, B4: ReactionTriggerBundle, B5: ReactionTriggerBundle, B6: ReactionTriggerBundle> ReactionTriggerBundle for (B0, B1, B2, B3, B4, B5, B6)

source§

fn len(&self) -> usize

source§

fn collect_reactor_types(self, func: &mut impl FnMut(ReactorType))

source§

fn register_triggers( self, commands: &mut Commands<'_, '_>, handle: &ReactorHandle, )

source§

impl<B0: ReactionTriggerBundle, B1: ReactionTriggerBundle, B2: ReactionTriggerBundle, B3: ReactionTriggerBundle, B4: ReactionTriggerBundle, B5: ReactionTriggerBundle, B6: ReactionTriggerBundle, B7: ReactionTriggerBundle> ReactionTriggerBundle for (B0, B1, B2, B3, B4, B5, B6, B7)

source§

fn len(&self) -> usize

source§

fn collect_reactor_types(self, func: &mut impl FnMut(ReactorType))

source§

fn register_triggers( self, commands: &mut Commands<'_, '_>, handle: &ReactorHandle, )

source§

impl<B0: ReactionTriggerBundle, B1: ReactionTriggerBundle, B2: ReactionTriggerBundle, B3: ReactionTriggerBundle, B4: ReactionTriggerBundle, B5: ReactionTriggerBundle, B6: ReactionTriggerBundle, B7: ReactionTriggerBundle, B8: ReactionTriggerBundle> ReactionTriggerBundle for (B0, B1, B2, B3, B4, B5, B6, B7, B8)

source§

fn len(&self) -> usize

source§

fn collect_reactor_types(self, func: &mut impl FnMut(ReactorType))

source§

fn register_triggers( self, commands: &mut Commands<'_, '_>, handle: &ReactorHandle, )

source§

impl<B0: ReactionTriggerBundle, B1: ReactionTriggerBundle, B2: ReactionTriggerBundle, B3: ReactionTriggerBundle, B4: ReactionTriggerBundle, B5: ReactionTriggerBundle, B6: ReactionTriggerBundle, B7: ReactionTriggerBundle, B8: ReactionTriggerBundle, B9: ReactionTriggerBundle> ReactionTriggerBundle for (B0, B1, B2, B3, B4, B5, B6, B7, B8, B9)

source§

fn len(&self) -> usize

source§

fn collect_reactor_types(self, func: &mut impl FnMut(ReactorType))

source§

fn register_triggers( self, commands: &mut Commands<'_, '_>, handle: &ReactorHandle, )

source§

impl<B0: ReactionTriggerBundle, B1: ReactionTriggerBundle, B2: ReactionTriggerBundle, B3: ReactionTriggerBundle, B4: ReactionTriggerBundle, B5: ReactionTriggerBundle, B6: ReactionTriggerBundle, B7: ReactionTriggerBundle, B8: ReactionTriggerBundle, B9: ReactionTriggerBundle, B10: ReactionTriggerBundle> ReactionTriggerBundle for (B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10)

source§

fn len(&self) -> usize

source§

fn collect_reactor_types(self, func: &mut impl FnMut(ReactorType))

source§

fn register_triggers( self, commands: &mut Commands<'_, '_>, handle: &ReactorHandle, )

source§

impl<B0: ReactionTriggerBundle, B1: ReactionTriggerBundle, B2: ReactionTriggerBundle, B3: ReactionTriggerBundle, B4: ReactionTriggerBundle, B5: ReactionTriggerBundle, B6: ReactionTriggerBundle, B7: ReactionTriggerBundle, B8: ReactionTriggerBundle, B9: ReactionTriggerBundle, B10: ReactionTriggerBundle, B11: ReactionTriggerBundle> ReactionTriggerBundle for (B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11)

source§

fn len(&self) -> usize

source§

fn collect_reactor_types(self, func: &mut impl FnMut(ReactorType))

source§

fn register_triggers( self, commands: &mut Commands<'_, '_>, handle: &ReactorHandle, )

source§

impl<B0: ReactionTriggerBundle, B1: ReactionTriggerBundle, B2: ReactionTriggerBundle, B3: ReactionTriggerBundle, B4: ReactionTriggerBundle, B5: ReactionTriggerBundle, B6: ReactionTriggerBundle, B7: ReactionTriggerBundle, B8: ReactionTriggerBundle, B9: ReactionTriggerBundle, B10: ReactionTriggerBundle, B11: ReactionTriggerBundle, B12: ReactionTriggerBundle> ReactionTriggerBundle for (B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12)

source§

fn len(&self) -> usize

source§

fn collect_reactor_types(self, func: &mut impl FnMut(ReactorType))

source§

fn register_triggers( self, commands: &mut Commands<'_, '_>, handle: &ReactorHandle, )

source§

impl<B0: ReactionTriggerBundle, B1: ReactionTriggerBundle, B2: ReactionTriggerBundle, B3: ReactionTriggerBundle, B4: ReactionTriggerBundle, B5: ReactionTriggerBundle, B6: ReactionTriggerBundle, B7: ReactionTriggerBundle, B8: ReactionTriggerBundle, B9: ReactionTriggerBundle, B10: ReactionTriggerBundle, B11: ReactionTriggerBundle, B12: ReactionTriggerBundle, B13: ReactionTriggerBundle> ReactionTriggerBundle for (B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13)

source§

fn len(&self) -> usize

source§

fn collect_reactor_types(self, func: &mut impl FnMut(ReactorType))

source§

fn register_triggers( self, commands: &mut Commands<'_, '_>, handle: &ReactorHandle, )

source§

impl<B0: ReactionTriggerBundle, B1: ReactionTriggerBundle, B2: ReactionTriggerBundle, B3: ReactionTriggerBundle, B4: ReactionTriggerBundle, B5: ReactionTriggerBundle, B6: ReactionTriggerBundle, B7: ReactionTriggerBundle, B8: ReactionTriggerBundle, B9: ReactionTriggerBundle, B10: ReactionTriggerBundle, B11: ReactionTriggerBundle, B12: ReactionTriggerBundle, B13: ReactionTriggerBundle, B14: ReactionTriggerBundle> ReactionTriggerBundle for (B0, B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13, B14)

source§

fn len(&self) -> usize

source§

fn collect_reactor_types(self, func: &mut impl FnMut(ReactorType))

source§

fn register_triggers( self, commands: &mut Commands<'_, '_>, handle: &ReactorHandle, )

Implementors§