gd: added input addon
This commit is contained in:
53
addons/guide/inputs/guide_input_joy_axis_2d.gd
Normal file
53
addons/guide/inputs/guide_input_joy_axis_2d.gd
Normal file
@ -0,0 +1,53 @@
|
||||
## Input from two joy axes.
|
||||
class_name GUIDEInputJoyAxis2D
|
||||
extends GUIDEInputJoyBase
|
||||
|
||||
## The joy axis to sample for x input.
|
||||
@export var x:JoyAxis = JOY_AXIS_LEFT_X:
|
||||
set(value):
|
||||
if value == x:
|
||||
return
|
||||
x = value
|
||||
emit_changed()
|
||||
|
||||
|
||||
## The joy axis to sample for y input.
|
||||
@export var y:JoyAxis = JOY_AXIS_LEFT_Y:
|
||||
set(value):
|
||||
if value == y:
|
||||
return
|
||||
y = value
|
||||
emit_changed()
|
||||
|
||||
func _begin_usage() -> void:
|
||||
_state.joy_axis_state_changed.connect(_refresh)
|
||||
_refresh()
|
||||
|
||||
func _end_usage() -> void:
|
||||
_state.joy_axis_state_changed.disconnect(_refresh)
|
||||
|
||||
|
||||
func _refresh():
|
||||
_value.x = _state.get_joy_axis_value(joy_index, x)
|
||||
_value.y = _state.get_joy_axis_value(joy_index, y)
|
||||
|
||||
|
||||
func is_same_as(other:GUIDEInput) -> bool:
|
||||
return other is GUIDEInputJoyAxis2D and \
|
||||
other.x == x and \
|
||||
other.y == y and \
|
||||
other.joy_index == joy_index
|
||||
|
||||
func _to_string():
|
||||
return "(GUIDEInputJoyAxis2D: x=" + str(x) + ", y=" + str(y) + ", joy_index=" + str(joy_index) + ")"
|
||||
|
||||
|
||||
func _editor_name() -> String:
|
||||
return "Joy Axis 2D"
|
||||
|
||||
func _editor_description() -> String:
|
||||
return "The input from two Joy axes. Usually from a stick."
|
||||
|
||||
|
||||
func _native_value_type() -> GUIDEAction.GUIDEActionValueType:
|
||||
return GUIDEAction.GUIDEActionValueType.AXIS_2D
|
Reference in New Issue
Block a user