Struct leafwing_input_manager::input_streams::InputStreams
source · [−]pub struct InputStreams<'a> {
pub gamepad_buttons: &'a Input<GamepadButton>,
pub gamepad_button_axes: &'a Axis<GamepadButton>,
pub gamepad_axes: &'a Axis<GamepadAxis>,
pub gamepads: &'a Gamepads,
pub keycode: &'a Input<KeyCode>,
pub mouse_button: &'a Input<MouseButton>,
pub mouse_wheel: &'a Events<MouseWheel>,
pub mouse_motion: &'a Events<MouseMotion>,
pub associated_gamepad: Option<Gamepad>,
}
Expand description
Fields
A [GamepadButton
] [Input
] stream
A [GamepadButton
] [Axis
] stream
gamepad_axes: &'a Axis<GamepadAxis>
A [GamepadAxis
] [Axis
] stream
gamepads: &'a Gamepads
A list of registered gamepads
keycode: &'a Input<KeyCode>
A [KeyCode
] [Input
] stream
A [MouseButton
] [Input
] stream
mouse_wheel: &'a Events<MouseWheel>
A [MouseWheel
] event stream
mouse_motion: &'a Events<MouseMotion>
A [MouseMotion
] event stream
associated_gamepad: Option<Gamepad>
The [Gamepad
] that this struct will detect inputs from
Implementations
sourceimpl<'a> InputStreams<'a>
impl<'a> InputStreams<'a>
sourcepub fn from_world(world: &'a World, gamepad: Option<Gamepad>) -> Self
pub fn from_world(world: &'a World, gamepad: Option<Gamepad>) -> Self
Construct an InputStreams
from a [World
]
sourceimpl<'a> InputStreams<'a>
impl<'a> InputStreams<'a>
sourcepub fn guess_gamepad(&self) -> Option<Gamepad>
pub fn guess_gamepad(&self) -> Option<Gamepad>
Guess which registered [Gamepad
] should be used.
If an associated gamepad is set, use that. Otherwise use the first registered gamepad, if any.
sourcepub fn input_pressed(&self, input: &UserInput) -> bool
pub fn input_pressed(&self, input: &UserInput) -> bool
Is the input
matched by the InputStreams
?
sourcepub fn any_pressed(&self, inputs: &PetitSet<UserInput, 16>) -> bool
pub fn any_pressed(&self, inputs: &PetitSet<UserInput, 16>) -> bool
Is at least one of the inputs
pressed?
Is the button
pressed?
Are all of the buttons
pressed?
sourcepub fn input_value(&self, input: &UserInput) -> f32
pub fn input_value(&self, input: &UserInput) -> f32
Get the “value” of the input.
For binary inputs such as buttons, this will always be either 0.0
or 1.0
. For analog
inputs such as axes, this will be the axis value.
UserInput::Chord
inputs are also considered binary and will return 0.0
or 1.0
based
on whether the chord has been pressed.
Warning
If you need to ensure that this value is always in the range [-1., 1.]
,
be sure to clamp the reutrned data.
sourcepub fn input_axis_pair(&self, input: &UserInput) -> Option<DualAxisData>
pub fn input_axis_pair(&self, input: &UserInput) -> Option<DualAxisData>
Get the axis pair associated to the user input.
If input
is not a [DualAxis
] or VirtualDPad
, returns None
.
See [ActionState::action_axis_pair()
] for usage.
Warning
If you need to ensure that this value is always in the range [-1., 1.]
,
be sure to clamp the returned data.
Trait Implementations
sourceimpl<'a> Clone for InputStreams<'a>
impl<'a> Clone for InputStreams<'a>
sourcefn clone(&self) -> InputStreams<'a>
fn clone(&self) -> InputStreams<'a>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl<'a> Debug for InputStreams<'a>
impl<'a> Debug for InputStreams<'a>
sourceimpl<'a> From<&'a MutableInputStreams<'a>> for InputStreams<'a>
impl<'a> From<&'a MutableInputStreams<'a>> for InputStreams<'a>
sourcefn from(mutable_streams: &'a MutableInputStreams<'a>) -> Self
fn from(mutable_streams: &'a MutableInputStreams<'a>) -> Self
Converts to this type from the input type.
sourceimpl<'a> From<MutableInputStreams<'a>> for InputStreams<'a>
impl<'a> From<MutableInputStreams<'a>> for InputStreams<'a>
sourcefn from(mutable_streams: MutableInputStreams<'a>) -> Self
fn from(mutable_streams: MutableInputStreams<'a>) -> Self
Converts to this type from the input type.
Auto Trait Implementations
impl<'a> RefUnwindSafe for InputStreams<'a>
impl<'a> Send for InputStreams<'a>
impl<'a> Sync for InputStreams<'a>
impl<'a> Unpin for InputStreams<'a>
impl<'a> UnwindSafe for InputStreams<'a>
Blanket Implementations
impl<T, U> AsBindGroupShaderType<U> for T where
U: ShaderType,
&'a T: for<'a> Into<U>,
impl<T, U> AsBindGroupShaderType<U> for T where
U: ShaderType,
&'a T: for<'a> Into<U>,
fn as_bind_group_shader_type(
&self,
_images: &HashMap<Handle<Image>, <Image as RenderAsset>::PreparedAsset, RandomState, Global>
) -> U
fn as_bind_group_shader_type(
&self,
_images: &HashMap<Handle<Image>, <Image as RenderAsset>::PreparedAsset, RandomState, Global>
) -> U
Return the T
[ShaderType
] for self
. When used in [AsBindGroup
]
derives, it is safe to assume that all images in self
exist. Read more
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<T> TypeData for T where
T: 'static + Send + Sync + Clone,
impl<T> TypeData for T where
T: 'static + Send + Sync + Clone,
fn clone_type_data(&self) -> Box<dyn TypeData + 'static, Global>
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more