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<'_>

Object Safety§

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