extends Area2D class_name Demon var is_being_dragged: bool = false func _on_mouse_entered(): if not GlobalInput.is_dragging(): # TODO: add custom cursor image Input.set_custom_mouse_cursor(null, Input.CURSOR_MOVE) func _on_mouse_exited(): if not GlobalInput.is_dragging(): # TODO: add custom cursor image Input.set_custom_mouse_cursor(null, Input.CURSOR_ARROW) func _on_input_event(_viewport: Node, event: InputEvent, _shape_idx: int): if event is InputEventMouseButton: handle_click(event) func handle_click(event: InputEventMouseButton): if event.button_index != MOUSE_BUTTON_LEFT: return if event.pressed && not GlobalInput.is_dragging(): is_being_dragged = true GlobalInput.start_dragging(self) elif not event.pressed && is_being_dragged: is_being_dragged = false GlobalInput.stop_dragging()