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 System
s.
Provided implementations are:
()
: No inputIn<T>
: For valuesInRef<T>
: For read-only references to valuesInMut<T>
: For mutable references to valuesTrigger<E, B>
: ForObserverSystem
sStaticSystemInput<I>
: For arbitrarySystemInput
s in generic contexts
Required Associated Types§
sourcetype Param<'i>: SystemInput
type Param<'i>: SystemInput
The wrapper input type that is defined as the first argument to FunctionSystem
s.
sourcetype Inner<'i>
type Inner<'i>
The inner input type that is passed to functions that run systems,
such as System::run
.
Required Methods§
sourcefn wrap(this: Self::Inner<'_>) -> Self::Param<'_>
fn wrap(this: Self::Inner<'_>) -> Self::Param<'_>
Converts a SystemInput::Inner
into a SystemInput::Param
.
Object Safety§
This trait is not object safe.
Implementations on Foreign Types§
source§impl SystemInput for ()
impl SystemInput for ()
SystemInput
type for systems that take no input.
Implementors§
source§impl<'a, I: SystemInput> SystemInput for StaticSystemInput<'a, I>
impl<'a, I: SystemInput> SystemInput for StaticSystemInput<'a, I>
type Param<'i> = StaticSystemInput<'i, I>
type Inner<'i> = <I as SystemInput>::Inner<'i>
source§impl<E: 'static, B: Bundle> SystemInput for Trigger<'_, E, B>
impl<E: 'static, B: Bundle> SystemInput for Trigger<'_, E, B>
Used for ObserverSystem
s.