Delay start for animation

This commit is contained in:
Marco 2025-03-03 10:58:20 +01:00
commit a9a7b234fb
9 changed files with 108 additions and 23 deletions

View file

@ -14,7 +14,9 @@ public partial class AreaTrigger : Area2D
private int _activations = 0;
[Signal]
public delegate void ActivatedEventHandler();
public delegate void ActivatedEventHandler();
private InteractionController _cachedPlayer;
private bool Activate()
{
@ -47,6 +49,23 @@ public partial class AreaTrigger : Area2D
private void _on_area_entered(Area2D area)
{
if (area is not InteractionController player) return;
if (player.Enabled)
{
Activate();
}
else
{
_cachedPlayer = player;
_cachedPlayer.InteractionStarted += PlayerOnInteractionStarted;
}
}
private void PlayerOnInteractionStarted()
{
Activate();
if (_cachedPlayer != null)
{
_cachedPlayer.InteractionStarted -= PlayerOnInteractionStarted;
}
}
}