cirnogodot/Scripts/Components/FSM/Boss/3D/Shooting.cs
2025-06-30 17:28:19 +02:00

45 lines
No EOL
1.1 KiB
C#

using Cirno.Scripts.Components.FSM.Enemy._3D;
using Cirno.Scripts.Enums;
using Cirno.Scripts.Utils;
using Cirno.Scripts.Weapons;
using Godot;
namespace Cirno.Scripts.Components.FSM.Boss._3D;
public partial class Shooting : EnemyStateBase3D
{
public override EnemyState StateId => EnemyState.Shooting;
[Export] public EnemyStorage3D Storage { get; private set; }
[Export] public GravityProvider GravityProvider { get; private set; }
public override void EnterState()
{
base.EnterState();
// Enable damage receiver
}
public override void ExitState()
{
base.ExitState();
}
public override void PhysicsProcessState(double delta)
{
base.PhysicsProcessState(delta);
// Calculate gravity
MainObject.Velocity = new Vector3(MainObject.Velocity.X, GravityProvider.CalculateGravityVelocity(MainObject.Velocity.Y, delta), MainObject.Velocity.Z);
MainObject.MoveAndSlide();
}
public override void ProcessState(double delta)
{
base.ProcessState(delta);
}
}