Struct bevy::input::gamepad::AxisSettings
pub struct AxisSettings { /* private fields */ }
Expand description
Settings for a GamepadAxis
.
It is used inside of the GamepadSettings
to define the sensitivity range and
threshold for an axis.
Values that are higher than livezone_upperbound
will be rounded up to 1.0.
Values that are lower than livezone_lowerbound
will be rounded down to -1.0.
Values that are in-between deadzone_lowerbound
and deadzone_upperbound
will be rounded
to 0.0.
Otherwise, values will not be rounded.
The valid range is [-1.0, 1.0]
.
Implementations§
§impl AxisSettings
impl AxisSettings
pub fn new(
livezone_lowerbound: f32,
deadzone_lowerbound: f32,
deadzone_upperbound: f32,
livezone_upperbound: f32,
threshold: f32
) -> Result<AxisSettings, AxisSettingsError>
pub fn new( livezone_lowerbound: f32, deadzone_lowerbound: f32, deadzone_upperbound: f32, livezone_upperbound: f32, threshold: f32 ) -> Result<AxisSettings, AxisSettingsError>
Creates a new AxisSettings
instance.
Arguments
livezone_lowerbound
- the value below which inputs will be rounded down to -1.0.deadzone_lowerbound
- the value above which negative inputs will be rounded up to 0.0.deadzone_upperbound
- the value below which positive inputs will be rounded down to 0.0.livezone_upperbound
- the value above which inputs will be rounded up to 1.0.threshold
- the minimum value by which input must change before the change is registered.
Restrictions:
-1.0 <= livezone_lowerbound <= deadzone_lowerbound <= 0.0
0.0 <= deadzone_upperbound <= livezone_upperbound <= 1.0
0.0 <= threshold <= 2.0
Errors
Returns an AxisSettingsError
if any restrictions on the zone values are not met.
If the zone restrictions are met, but the threshold
value restrictions are not met,
returns AxisSettingsError::Threshold
.
pub fn livezone_upperbound(&self) -> f32
pub fn livezone_upperbound(&self) -> f32
Get the value above which inputs will be rounded up to 1.0.
pub fn try_set_livezone_upperbound(
&mut self,
value: f32
) -> Result<(), AxisSettingsError>
pub fn try_set_livezone_upperbound( &mut self, value: f32 ) -> Result<(), AxisSettingsError>
Try to set the value above which inputs will be rounded up to 1.0.
Errors
If the value passed is less than the dead zone upper bound,
returns AxisSettingsError::DeadZoneUpperBoundGreaterThanLiveZoneUpperBound
.
If the value passed is not in range [0.0..=1.0], returns AxisSettingsError::LiveZoneUpperBoundOutOfRange
.
pub fn set_livezone_upperbound(&mut self, value: f32) -> f32
pub fn set_livezone_upperbound(&mut self, value: f32) -> f32
Try to set the value above which inputs will be rounded up to 1.0.
If the value passed is negative or less than deadzone_upperbound
,
the value will not be changed.
Returns the new value of livezone_upperbound
.
pub fn deadzone_upperbound(&self) -> f32
pub fn deadzone_upperbound(&self) -> f32
Get the value below which positive inputs will be rounded down to 0.0.
pub fn try_set_deadzone_upperbound(
&mut self,
value: f32
) -> Result<(), AxisSettingsError>
pub fn try_set_deadzone_upperbound( &mut self, value: f32 ) -> Result<(), AxisSettingsError>
Try to set the value below which positive inputs will be rounded down to 0.0.
Errors
If the value passed is greater than the live zone upper bound,
returns AxisSettingsError::DeadZoneUpperBoundGreaterThanLiveZoneUpperBound
.
If the value passed is not in range [0.0..=1.0], returns AxisSettingsError::DeadZoneUpperBoundOutOfRange
.
pub fn set_deadzone_upperbound(&mut self, value: f32) -> f32
pub fn set_deadzone_upperbound(&mut self, value: f32) -> f32
Try to set the value below which positive inputs will be rounded down to 0.0.
If the value passed is negative or greater than livezone_upperbound
,
the value will not be changed.
Returns the new value of deadzone_upperbound
.
pub fn livezone_lowerbound(&self) -> f32
pub fn livezone_lowerbound(&self) -> f32
Get the value below which negative inputs will be rounded down to -1.0.
pub fn try_set_livezone_lowerbound(
&mut self,
value: f32
) -> Result<(), AxisSettingsError>
pub fn try_set_livezone_lowerbound( &mut self, value: f32 ) -> Result<(), AxisSettingsError>
Try to set the value below which negative inputs will be rounded down to -1.0.
Errors
If the value passed is less than the dead zone lower bound,
returns AxisSettingsError::LiveZoneLowerBoundGreaterThanDeadZoneLowerBound
.
If the value passed is not in range [-1.0..=0.0], returns AxisSettingsError::LiveZoneLowerBoundOutOfRange
.
pub fn set_livezone_lowerbound(&mut self, value: f32) -> f32
pub fn set_livezone_lowerbound(&mut self, value: f32) -> f32
Try to set the value below which negative inputs will be rounded down to -1.0.
If the value passed is positive or greater than deadzone_lowerbound
,
the value will not be changed.
Returns the new value of livezone_lowerbound
.
pub fn deadzone_lowerbound(&self) -> f32
pub fn deadzone_lowerbound(&self) -> f32
Get the value above which inputs will be rounded up to 0.0.
pub fn try_set_deadzone_lowerbound(
&mut self,
value: f32
) -> Result<(), AxisSettingsError>
pub fn try_set_deadzone_lowerbound( &mut self, value: f32 ) -> Result<(), AxisSettingsError>
Try to set the value above which inputs will be rounded up to 0.0.
Errors
If the value passed is less than the live zone lower bound,
returns AxisSettingsError::LiveZoneLowerBoundGreaterThanDeadZoneLowerBound
.
If the value passed is not in range [-1.0..=0.0], returns AxisSettingsError::DeadZoneLowerBoundOutOfRange
.
pub fn set_deadzone_lowerbound(&mut self, value: f32) -> f32
pub fn set_deadzone_lowerbound(&mut self, value: f32) -> f32
Try to set the value above which inputs will be rounded up to 0.0.
If the value passed is less than -1.0 or less than livezone_lowerbound
,
the value will not be changed.
Returns the new value of deadzone_lowerbound
.
pub fn threshold(&self) -> f32
pub fn threshold(&self) -> f32
Get the minimum value by which input must change before the change is registered.
pub fn try_set_threshold(&mut self, value: f32) -> Result<(), AxisSettingsError>
pub fn try_set_threshold(&mut self, value: f32) -> Result<(), AxisSettingsError>
Try to set the minimum value by which input must change before the change is registered.
Errors
If the value passed is not within [0.0..=2.0], returns GamepadSettingsError::AxisThreshold
.
pub fn set_threshold(&mut self, value: f32) -> f32
pub fn set_threshold(&mut self, value: f32) -> f32
Try to set the minimum value by which input must change before the changes will be applied. If the value passed is not within [0.0..=2.0], the value will not be changed.
Returns the new value of threshold.
Trait Implementations§
§impl Clone for AxisSettings
impl Clone for AxisSettings
§fn clone(&self) -> AxisSettings
fn clone(&self) -> AxisSettings
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Debug for AxisSettings
impl Debug for AxisSettings
§impl Default for AxisSettings
impl Default for AxisSettings
§fn default() -> AxisSettings
fn default() -> AxisSettings
§impl FromReflect for AxisSettingswhere
f32: FromReflect + TypePath,
impl FromReflect for AxisSettingswhere f32: FromReflect + TypePath,
§fn from_reflect(reflect: &(dyn Reflect + 'static)) -> Option<AxisSettings>
fn from_reflect(reflect: &(dyn Reflect + 'static)) -> Option<AxisSettings>
Self
from a reflected value.§fn take_from_reflect(
reflect: Box<dyn Reflect>
) -> Result<Self, Box<dyn Reflect>>
fn take_from_reflect( reflect: Box<dyn Reflect> ) -> Result<Self, Box<dyn Reflect>>
Self
using,
constructing the value using from_reflect
if that fails. Read more§impl GetTypeRegistration for AxisSettingswhere
f32: FromReflect + TypePath,
impl GetTypeRegistration for AxisSettingswhere f32: FromReflect + TypePath,
§impl PartialEq for AxisSettings
impl PartialEq for AxisSettings
§fn eq(&self, other: &AxisSettings) -> bool
fn eq(&self, other: &AxisSettings) -> bool
self
and other
values to be equal, and is used
by ==
.§impl Reflect for AxisSettingswhere
f32: FromReflect + TypePath,
impl Reflect for AxisSettingswhere f32: FromReflect + TypePath,
§fn get_represented_type_info(&self) -> Option<&'static TypeInfo>
fn get_represented_type_info(&self) -> Option<&'static TypeInfo>
§fn into_any(self: Box<AxisSettings>) -> Box<dyn Any>
fn into_any(self: Box<AxisSettings>) -> Box<dyn Any>
Box<dyn Any>
.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut dyn Any
.§fn into_reflect(self: Box<AxisSettings>) -> Box<dyn Reflect>
fn into_reflect(self: Box<AxisSettings>) -> Box<dyn Reflect>
§fn as_reflect(&self) -> &(dyn Reflect + 'static)
fn as_reflect(&self) -> &(dyn Reflect + 'static)
§fn as_reflect_mut(&mut self) -> &mut (dyn Reflect + 'static)
fn as_reflect_mut(&mut self) -> &mut (dyn Reflect + 'static)
§fn clone_value(&self) -> Box<dyn Reflect>
fn clone_value(&self) -> Box<dyn Reflect>
Reflect
trait object. Read more§fn set(&mut self, value: Box<dyn Reflect>) -> Result<(), Box<dyn Reflect>>
fn set(&mut self, value: Box<dyn Reflect>) -> Result<(), Box<dyn Reflect>>
§fn apply(&mut self, value: &(dyn Reflect + 'static))
fn apply(&mut self, value: &(dyn Reflect + 'static))
§fn reflect_ref(&self) -> ReflectRef<'_>
fn reflect_ref(&self) -> ReflectRef<'_>
§fn reflect_mut(&mut self) -> ReflectMut<'_>
fn reflect_mut(&mut self) -> ReflectMut<'_>
§fn reflect_owned(self: Box<AxisSettings>) -> ReflectOwned
fn reflect_owned(self: Box<AxisSettings>) -> ReflectOwned
§fn reflect_partial_eq(&self, value: &(dyn Reflect + 'static)) -> Option<bool>
fn reflect_partial_eq(&self, value: &(dyn Reflect + 'static)) -> Option<bool>
§fn debug(&self, f: &mut Formatter<'_>) -> Result<(), Error>
fn debug(&self, f: &mut Formatter<'_>) -> Result<(), Error>
§fn type_name(&self) -> &str
fn type_name(&self) -> &str
§fn reflect_hash(&self) -> Option<u64>
fn reflect_hash(&self) -> Option<u64>
§fn serializable(&self) -> Option<Serializable<'_>>
fn serializable(&self) -> Option<Serializable<'_>>
§fn is_dynamic(&self) -> bool
fn is_dynamic(&self) -> bool
§impl Struct for AxisSettingswhere
f32: FromReflect + TypePath,
impl Struct for AxisSettingswhere f32: FromReflect + TypePath,
§fn field(&self, name: &str) -> Option<&(dyn Reflect + 'static)>
fn field(&self, name: &str) -> Option<&(dyn Reflect + 'static)>
name
as a &dyn Reflect
.§fn field_mut(&mut self, name: &str) -> Option<&mut (dyn Reflect + 'static)>
fn field_mut(&mut self, name: &str) -> Option<&mut (dyn Reflect + 'static)>
name
as a
&mut dyn Reflect
.§fn field_at(&self, index: usize) -> Option<&(dyn Reflect + 'static)>
fn field_at(&self, index: usize) -> Option<&(dyn Reflect + 'static)>
index
as a
&dyn Reflect
.§fn field_at_mut(&mut self, index: usize) -> Option<&mut (dyn Reflect + 'static)>
fn field_at_mut(&mut self, index: usize) -> Option<&mut (dyn Reflect + 'static)>
index
as a &mut dyn Reflect
.§fn iter_fields(&self) -> FieldIter<'_> ⓘ
fn iter_fields(&self) -> FieldIter<'_> ⓘ
§fn clone_dynamic(&self) -> DynamicStruct
fn clone_dynamic(&self) -> DynamicStruct
DynamicStruct
.§impl TypePath for AxisSettingswhere
f32: FromReflect + TypePath,
impl TypePath for AxisSettingswhere f32: FromReflect + TypePath,
§fn short_type_path() -> &'static str
fn short_type_path() -> &'static str
§fn type_ident() -> Option<&'static str>
fn type_ident() -> Option<&'static str>
§fn crate_name() -> Option<&'static str>
fn crate_name() -> Option<&'static str>
§impl Typed for AxisSettingswhere
f32: FromReflect + TypePath,
impl Typed for AxisSettingswhere f32: FromReflect + TypePath,
impl StructuralPartialEq for AxisSettings
Auto Trait Implementations§
impl RefUnwindSafe for AxisSettings
impl Send for AxisSettings
impl Sync for AxisSettings
impl Unpin for AxisSettings
impl UnwindSafe for AxisSettings
Blanket Implementations§
§impl<T, U> AsBindGroupShaderType<U> for Twhere
U: ShaderType,
&'a T: for<'a> Into<U>,
impl<T, U> AsBindGroupShaderType<U> for Twhere U: ShaderType, &'a T: for<'a> Into<U>,
§fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U
T
ShaderType
for self
. When used in AsBindGroup
derives, it is safe to assume that all images in self
exist.source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DynamicTypePath for Twhere
T: TypePath,
impl<T> DynamicTypePath for Twhere T: TypePath,
§fn reflect_type_path(&self) -> &str
fn reflect_type_path(&self) -> &str
TypePath::type_path
.§fn reflect_short_type_path(&self) -> &str
fn reflect_short_type_path(&self) -> &str
§fn reflect_type_ident(&self) -> Option<&str>
fn reflect_type_ident(&self) -> Option<&str>
TypePath::type_ident
.§fn reflect_crate_name(&self) -> Option<&str>
fn reflect_crate_name(&self) -> Option<&str>
TypePath::crate_name
.§fn reflect_module_path(&self) -> Option<&str>
fn reflect_module_path(&self) -> Option<&str>
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere T: Default,
§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Self
using data from the given World
.§impl<T> GetPath for Twhere
T: Reflect + ?Sized,
impl<T> GetPath for Twhere T: Reflect + ?Sized,
§fn reflect_path<'p>(
&self,
path: impl ReflectPath<'p>
) -> Result<&(dyn Reflect + 'static), ReflectPathError<'p>>
fn reflect_path<'p>( &self, path: impl ReflectPath<'p> ) -> Result<&(dyn Reflect + 'static), ReflectPathError<'p>>
path
. Read more§fn reflect_path_mut<'p>(
&mut self,
path: impl ReflectPath<'p>
) -> Result<&mut (dyn Reflect + 'static), ReflectPathError<'p>>
fn reflect_path_mut<'p>( &mut self, path: impl ReflectPath<'p> ) -> Result<&mut (dyn Reflect + 'static), ReflectPathError<'p>>
path
. Read more§fn path<'p, T>(
&self,
path: impl ReflectPath<'p>
) -> Result<&T, ReflectPathError<'p>>where
T: Reflect,
fn path<'p, T>( &self, path: impl ReflectPath<'p> ) -> Result<&T, ReflectPathError<'p>>where T: Reflect,
path
. Read more§fn path_mut<'p, T>(
&mut self,
path: impl ReflectPath<'p>
) -> Result<&mut T, ReflectPathError<'p>>where
T: Reflect,
fn path_mut<'p, T>( &mut self, path: impl ReflectPath<'p> ) -> Result<&mut T, ReflectPathError<'p>>where T: Reflect,
path
. Read more