Estou tentando usar o sinal BodyShapeEntered para um Area3D em C#. Não consigo descobrir como o delegado deve ser para este evento. Recebo o seguinte erro de compilação: "Nenhuma sobrecarga para 'OnCollision' corresponde ao delegado 'Area3D.BodyShapeEnteredEventHandler'" Infelizmente, não consigo encontrar nenhuma informação sobre quais parâmetros devo usar para este manipulador, se não for este. Meu código corresponde à descrição em https://docs.godotengine.org/en/4.2/classes/class_area3d.html#signals
Estou usando a versão 4.2. Aqui está o meu código:
using Godot;
using System;
public partial class LocationExit : Area3D
{
public static readonly PackedScene DefaultExitScene = ResourceLoader.Load<PackedScene>("res://Overworld/Overworld.tscn");
public PackedScene ExitScene;//alternate scene to exit to
string StoryVariableOnExit;//increments this variable in the story on collision
// Called when the node enters the scene tree for the first time.
public override void _Ready()
{
this.BodyShapeEntered += OnCollision;
}
// Called every frame. 'delta' is the elapsed time since the previous frame.
public override void _Process(double delta)
{
}
private void OnCollision(Rid body_rid, Node3D body, int body_shape_index, int local_shape_index)
{
//cannot use, this will not compile
}
}