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:
(): No inputIn<T>: For valuesInRef<T>: For read-only references to valuesInMut<T>: For mutable references to valuesTrigger<E, B>: ForObserverSystemsStaticSystemInput<I>: For arbitrarySystemInputs 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 FunctionSystems.
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.
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 ()
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 ObserverSystems.