Class GGInteractor2D extends Area2D

Allows characters to interact with [GGInteractable2D] components.

The Interactor is an [Area2D] node that uses collisions to detect Interactables. The interact() method interacts with the closests [GGInteractable2D].

# Signals

## Emitted when the [member closest_interactable] changes.
signal interactable_changed(interactable: GGInteractable2D)

# Members

## The node that represents the actor (character) performing the interaction. Usually the scene root, which is the same as the [member Node.owner]. This property can be used by custom [GGInteractable2DStrategy] classes.
var actor: Node
## Tracks all interactables within range
var interactables: GGInteractable2D[] = []
## The closest interactable, which we'll interact with
var closest_interactable: GGInteractable2D = null
## During interaction, keeps track of the active interactable
var active_interactable: GGInteractable2D = null

# Methods

## Interact with the [member closest_interactable]. The [param pressed] parameter should be provided with the [method InputEvent.is_pressed] state.
func interact(pressed: bool) -> void