private void _checkInteractions() { var interactables = GetTree().GetNodesInGroup("interactive"); foreach (Node node in interactables) { IInteractive interactable = node as IInteractive; if (interactable != null) { Area2D interactiveArea = interactable.GetInteractiveArea(); if (interactiveArea.OverlapsBody(this)) { interactable.TryInteract(this); } } } }