using Cirno.Scripts.Enums; using Godot; namespace Cirno.Scripts.Components.FSM.Enemy; public partial class AnimationModule : ModuleBase { private IStateMachine _machine; [Export] public PlayerAnimationProvider AnimationProvider { get; set; } [Export] public EnemyStorageModule StorageModule { get; set; } public override void EnterState(EnemyState state) { AnimationProvider.SetAnimation(StorageModule.AimingDirection); AnimationProvider.SetAnimation(Vector2.Zero); } public override void ExitState(EnemyState state) { AnimationProvider.SetAnimation(Vector2.Zero); } public override void Init(IStateMachine machine) { _machine = machine; } public override void Process(double delta) { AnimationProvider.SetAnimation(StorageModule.AimingDirection); if (_machine.MainObject.Velocity == Vector2.Zero) { AnimationProvider.SetAnimation(Vector2.Zero); } } public override void PhysicsProcess(double delta) { } }