Drown animation

This commit is contained in:
Marco 2025-03-11 17:58:46 +01:00
commit aa2de85f9a
16 changed files with 264 additions and 14 deletions

View file

@ -24,6 +24,9 @@ public partial class PlayerAnimationProvider : Node2D
public StringName WalkDownAnimationName {get; private set;} = "walk_down";
[Export]
public StringName WalkUpAnimationName {get; private set;} = "walk_up";
[Export]
public StringName DrowningAnimationName {get; private set;} = "Drowning";
[ExportCategory("Shaders")]
[Export] public ShaderMaterial BlinkMaterial {get; private set;}
@ -33,6 +36,13 @@ public partial class PlayerAnimationProvider : Node2D
[Export] public StringName ScanlineDensityPropertyName { get; private set; } = new("scanline_density");
private GTween _blinkTween;
[Signal] public delegate void OnAnimationEndedEventHandler(StringName animationName);
public override void _Ready()
{
_animatedSprite.AnimationFinished += () => EmitSignal(SignalName.OnAnimationEnded, _animatedSprite.Animation);
}
public void ShowSprite()
{
@ -142,6 +152,13 @@ public partial class PlayerAnimationProvider : Node2D
this.CreateSibling<AutodeleteParticle>(_deathParticles, this.GlobalPosition);
_animatedSprite.Visible = false;
}
public void PlayDrowningAnimation()
{
_animatedSprite.Visible = true;
_animatedSprite.Play(DrowningAnimationName);
_animatedSprite.SpeedScale = 1;
}
public void PlayShieldAnimation()
{