extends Node2D signal gavel_hit var swinging var click_radius = 32 # will need to determine click radius based on sprite size -- should be equal var swing_threshold = 64 # will also need to scale this based on sprite size var swing_start = Vector2(0, 0) @export var gavel_root_position = Vector2(0, 0) @export var audio_player: AudioStreamPlayer2D #func _input(event: InputEvent) -> void: #if event is InputEventMouseButton and event.button_index == MOUSE_BUTTON_LEFT: ## check to see if the player clicked on the gavel #if (event.position - $Sprite2D.position).length() < click_radius: #if not swinging and event.pressed(): #swinging = true #swing_start = InputEventMouseMotion.screen_relative #if swinging and not event.pressed(): #swinging = false # #if event is InputEventMouseMotion and swinging: #$Sprite2D.position = event.position #if InputEventMouseMotion.screen_relative.length() - swing_start.length() == swing_threshold: #gavel_hit.emit() #$Sprite2D.position = gavel_root_position func _on_texture_button_button_down() -> void: audio_player.play() gavel_hit.emit()