gd: added input addon
This commit is contained in:
45
addons/guide/inputs/guide_input_touch_position.gd
Normal file
45
addons/guide/inputs/guide_input_touch_position.gd
Normal file
@ -0,0 +1,45 @@
|
||||
@tool
|
||||
class_name GUIDEInputTouchPosition
|
||||
extends GUIDEInputTouchBase
|
||||
|
||||
|
||||
func _begin_usage():
|
||||
# subscribe to touch events
|
||||
_state.touch_state_changed.connect(_refresh)
|
||||
_refresh()
|
||||
|
||||
func _end_usage():
|
||||
# unsubscribe from touch events
|
||||
_state.touch_state_changed.disconnect(_refresh)
|
||||
|
||||
func _refresh() -> void:
|
||||
# update finger position
|
||||
var position:Vector2 = _state.get_finger_position(finger_index, finger_count)
|
||||
if not position.is_finite():
|
||||
_value = Vector3.INF
|
||||
return
|
||||
|
||||
_value = Vector3(position.x, position.y, 0)
|
||||
|
||||
|
||||
func is_same_as(other:GUIDEInput):
|
||||
return other is GUIDEInputTouchPosition and \
|
||||
other.finger_count == finger_count and \
|
||||
other.finger_index == finger_index
|
||||
|
||||
|
||||
func _to_string():
|
||||
return "(GUIDEInputTouchPosition finger_count=" + str(finger_count) + \
|
||||
" finger_index=" + str(finger_index) +")"
|
||||
|
||||
|
||||
func _editor_name() -> String:
|
||||
return "Touch Position"
|
||||
|
||||
|
||||
func _editor_description() -> String:
|
||||
return "Position of a touching finger."
|
||||
|
||||
|
||||
func _native_value_type() -> GUIDEAction.GUIDEActionValueType:
|
||||
return GUIDEAction.GUIDEActionValueType.AXIS_2D
|
Reference in New Issue
Block a user