bevy_ecs::system

Trait SystemInput

Source
pub trait SystemInput: Sized {
    type Param<'i>: SystemInput;
    type Inner<'i>;

    // Required method
    fn wrap(this: Self::Inner<'_>) -> Self::Param<'_>;
}
Expand description

Trait for types that can be used as input to Systems.

Provided implementations are:

Required Associated Types§

Source

type Param<'i>: SystemInput

The wrapper input type that is defined as the first argument to FunctionSystems.

Source

type Inner<'i>

The inner input type that is passed to functions that run systems, such as System::run.

Required Methods§

Source

fn wrap(this: Self::Inner<'_>) -> Self::Param<'_>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl SystemInput for ()

SystemInput type for systems that take no input.

Source§

type Param<'i> = ()

Source§

type Inner<'i> = ()

Source§

fn wrap(_this: Self::Inner<'_>) -> Self::Param<'_>

Implementors§

Source§

impl<'a, I: SystemInput> SystemInput for StaticSystemInput<'a, I>

Source§

type Param<'i> = StaticSystemInput<'i, I>

Source§

type Inner<'i> = <I as SystemInput>::Inner<'i>

Source§

impl<E: 'static, B: Bundle> SystemInput for Trigger<'_, E, B>

Used for ObserverSystems.

Source§

type Param<'i> = Trigger<'i, E, B>

Source§

type Inner<'i> = Trigger<'i, E, B>

Source§

impl<T: 'static> SystemInput for In<T>

Source§

type Param<'i> = In<T>

Source§

type Inner<'i> = T

Source§

impl<T: ?Sized + 'static> SystemInput for InMut<'_, T>

Source§

type Param<'i> = InMut<'i, T>

Source§

type Inner<'i> = &'i mut T

Source§

impl<T: ?Sized + 'static> SystemInput for InRef<'_, T>

Source§

type Param<'i> = InRef<'i, T>

Source§

type Inner<'i> = &'i T