Files
Babushka/scripts/CSharp/Common/Temp/MVPDuck.cs
T

39 lines
1016 B
C#
Raw Normal View History

2025-07-09 22:40:03 +02:00
using System.Threading.Tasks;
using Godot;
namespace Babushka.scripts.CSharp.Common.Temp;
/// <summary>
/// Temporary Duck behaviour to make sure we can use them in the first showcase
/// </summary>
public partial class MVPDuck : Node2D
{
[Export] private Node2D _penTarget;
[Export] private int _transferDelayMs;
[Export] private AnimationPlayer _animationPlayer;
[Export] private string _flapAnimationName = "flapFlap";
[Signal] public delegate void DuckCollectedEventHandler();
2025-07-09 22:40:03 +02:00
public void TransferToTargetAfterDelay()
{
MoveAfterDelay();
PlayAnimation();
}
private void PlayAnimation()
{
_animationPlayer.CurrentAnimation = _flapAnimationName;
_animationPlayer.Play();
}
public async void MoveAfterDelay()
{
2025-07-11 00:17:31 +02:00
await ToSignal(GetTree().CreateTimer(1.0f), "timeout");
if(!_penTarget.Equals(null))
Position = _penTarget.GlobalPosition;
EmitSignal(SignalName.DuckCollected);
2025-07-09 22:40:03 +02:00
}
}