Strafing and crosshair for FSM player

This commit is contained in:
Marco 2025-03-01 10:05:13 +01:00
commit af0261ce8e
6 changed files with 170 additions and 23 deletions

View file

@ -0,0 +1,32 @@
using Godot;
namespace Cirno.Scripts.Components.Actors;
public partial class PlayerCrosshairProvider : Node2D
{
[Export]
public AnimatedSprite2D AnimatedSprite { get; private set; }
[Export]
public float CrosshairDistance { get; private set; }
public void UpdatePosition(Vector2 facingDirection)
{
AnimatedSprite.Position = CalculateCrosshairPosition(facingDirection);
}
private Vector2 CalculateCrosshairPosition(Vector2 facingDirection)
{
return facingDirection * CrosshairDistance;
}
public void Show()
{
AnimatedSprite.Show();
}
public void Hide()
{
AnimatedSprite.Hide();
}
}