41 lines
995 B
GDScript
41 lines
995 B
GDScript
## Input from a single joy axis.
|
|
@tool
|
|
class_name GUIDEInputJoyAxis1D
|
|
extends GUIDEInputJoyBase
|
|
|
|
## The joy axis to sample
|
|
@export var axis:JoyAxis = JOY_AXIS_LEFT_X:
|
|
set(value):
|
|
if value == axis:
|
|
return
|
|
axis = value
|
|
emit_changed()
|
|
|
|
func _begin_usage() -> void:
|
|
_state.joy_axis_state_changed.connect(_refresh)
|
|
|
|
func _end_usage() -> void:
|
|
_state.joy_axis_state_changed.disconnect(_refresh)
|
|
|
|
func _refresh() -> void:
|
|
_value.x = _state.get_joy_axis_value(joy_index, axis)
|
|
|
|
|
|
func is_same_as(other:GUIDEInput) -> bool:
|
|
return other is GUIDEInputJoyAxis1D and \
|
|
other.axis == axis and \
|
|
other.joy_index == joy_index
|
|
|
|
func _to_string():
|
|
return "(GUIDEInputJoyAxis1D: axis=" + str(axis) + ", joy_index=" + str(joy_index) + ")"
|
|
|
|
func _editor_name() -> String:
|
|
return "Joy Axis 1D"
|
|
|
|
func _editor_description() -> String:
|
|
return "The input from a single joy axis."
|
|
|
|
|
|
func _native_value_type() -> GUIDEAction.GUIDEActionValueType:
|
|
return GUIDEAction.GUIDEActionValueType.AXIS_1D
|