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 is less than deadzone_upperbound
or greater than 1.0,
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 above which negative inputs will be rounded up to 0.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 above which negative inputs will be rounded up to 0.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 above which negative inputs will be rounded up to 0.0.
If the value passed is positive or less 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 below which inputs will be rounded down to -1.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 below which inputs will be rounded down to -1.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 below which inputs will be rounded down to -1.0.
If the value passed is less than -1.0 or greater 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,
impl FromReflect for AxisSettingswhere f32: FromReflect,
§fn from_reflect(reflect: &(dyn Reflect + 'static)) -> Option<AxisSettings>
fn from_reflect(reflect: &(dyn Reflect + 'static)) -> Option<AxisSettings>
Self
from a reflected value.§impl GetTypeRegistration for AxisSettingswhere
f32: Reflect,
impl GetTypeRegistration for AxisSettingswhere f32: Reflect,
§impl PartialEq<AxisSettings> for AxisSettings
impl PartialEq<AxisSettings> 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: Reflect,
impl Reflect for AxisSettingswhere f32: Reflect,
§fn get_type_info(&self) -> &'static TypeInfo
fn get_type_info(&self) -> &'static TypeInfo
§fn into_any(self: Box<AxisSettings, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<AxisSettings, Global>) -> Box<dyn Any + 'static, Global>
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, Global>
) -> Box<dyn Reflect + 'static, Global>
fn into_reflect( self: Box<AxisSettings, Global> ) -> Box<dyn Reflect + 'static, Global>
§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 + 'static, Global>
fn clone_value(&self) -> Box<dyn Reflect + 'static, Global>
Reflect
trait object. Read more§fn set(
&mut self,
value: Box<dyn Reflect + 'static, Global>
) -> Result<(), Box<dyn Reflect + 'static, Global>>
fn set( &mut self, value: Box<dyn Reflect + 'static, Global> ) -> Result<(), Box<dyn Reflect + 'static, Global>>
§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, Global>) -> ReflectOwned
fn reflect_owned(self: Box<AxisSettings, Global>) -> 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 reflect_hash(&self) -> Option<u64>
fn reflect_hash(&self) -> Option<u64>
§fn serializable(&self) -> Option<Serializable<'_>>
fn serializable(&self) -> Option<Serializable<'_>>
§impl Struct for AxisSettingswhere
f32: Reflect,
impl Struct for AxisSettingswhere f32: Reflect,
§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 Typed for AxisSettingswhere
f32: Reflect,
impl Typed for AxisSettingswhere f32: Reflect,
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.§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere 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>
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 + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
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<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,
impl<T> GetPath for Twhere T: Reflect,
§fn reflect_path<'r, 'p>(
&'r self,
path: &'p str
) -> Result<&'r (dyn Reflect + 'static), ReflectPathError<'p>>
fn reflect_path<'r, 'p>( &'r self, path: &'p str ) -> Result<&'r (dyn Reflect + 'static), ReflectPathError<'p>>
path
. Read more§fn reflect_path_mut<'r, 'p>(
&'r mut self,
path: &'p str
) -> Result<&'r mut (dyn Reflect + 'static), ReflectPathError<'p>>
fn reflect_path_mut<'r, 'p>( &'r mut self, path: &'p str ) -> Result<&'r mut (dyn Reflect + 'static), ReflectPathError<'p>>
path
. Read more