Trying to make some simple point and click mechanics, and I need some interactable (clickable) objects. I made them out of a simple Sprite2D with an Area2D and CollisionShape2D.
The character movement uses unhandled_input to check the clicked spot and physics_process to actually update it if it can (i.e. not clicking a UI element).
What I can't quite figure out is if there's a way to essentailly stop clicks with an area2d input signal in the same way a UI element can. I know I could try and convert all interactable objects into Control nodes, but that makes it harder to do certain things with the objects too, so I'm not sure I want to do that. Also it would be tedious.
My first thought was to use set_input_as_handled on click event but it seems that won't work because the priority isn't actually higher than unhandled_input (or something like that? All I know is it doesn't work. Is it just a timing thing?). I also tried putting get_viewport().physics_object_picking_first_only = true and get_viewport().physics_object_picking_sort = true in the ready function of the interactables and raised the Z index but still no luck. So I'm not quite sure what I need to do.