Example #1
0
    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);
                }
            }
        }
    }