@tool class_name GUIDEInputMousePosition extends GUIDEInput func _begin_usage() -> void : # subscribe to mouse movement events _state.mouse_position_changed.connect(_refresh) _refresh() func _end_usage() -> void: # unsubscribe from mouse movement events _state.mouse_position_changed.disconnect(_refresh) func _refresh(): var position:Vector2 = _state.get_mouse_position() _value.x = position.x _value.y = position.y func is_same_as(other:GUIDEInput): return other is GUIDEInputMousePosition func _to_string(): return "(GUIDEInputMousePosition)" func _editor_name() -> String: return "Mouse Position" func _editor_description() -> String: return "Position of the mouse in the main viewport." func _native_value_type() -> GUIDEAction.GUIDEActionValueType: return GUIDEAction.GUIDEActionValueType.AXIS_2D