Files
MovementTests/addons/guide/inputs/guide_input_touch_axis_1d.gd
2025-05-27 19:20:46 +02:00

45 lines
1.0 KiB
GDScript

@tool
class_name GUIDEInputTouchAxis1D
extends GUIDEInputTouchAxisBase
enum GUIDEInputTouchAxis {
X,
Y
}
@export var axis:GUIDEInputTouchAxis:
set(value):
if value == axis:
return
axis = value
emit_changed()
func is_same_as(other:GUIDEInput):
return other is GUIDEInputTouchAxis1D and \
other.finger_count == finger_count and \
other.finger_index == finger_index and \
other.axis == axis
func _apply_value(value:Vector2):
match axis:
GUIDEInputTouchAxis.X:
_value = Vector3(value.x, 0, 0)
GUIDEInputTouchAxis.Y:
_value = Vector3(value.y, 0, 0)
func _to_string():
return "(GUIDEInputTouchAxis1D finger_count=" + str(finger_count) + \
" finger_index=" + str(finger_index) +" axis=" + ("X" if axis == GUIDEInputTouchAxis.X else "Y") + ")"
func _editor_name() -> String:
return "Touch Axis1D"
func _editor_description() -> String:
return "Relative movement of a touching finger on a single axis."
func _native_value_type() -> GUIDEAction.GUIDEActionValueType:
return GUIDEAction.GUIDEActionValueType.AXIS_1D