using Godot; namespace SupaLidlGame.State.NPC.Doc; public partial class DocExitState : NPCState { [Export] public AnimationPlayer TelegraphAnimationPlayer { get; set; } [Export] public DocTelegraphState TelegraphState { get; set; } [Export] public double Duration { get; set; } = 1; private double _currentDuration = 0; public override NPCState Enter(IState previousState) { _currentDuration = Duration; TelegraphAnimationPlayer.Play("exit_out"); NPC.ShouldMove = false; return null; } public override void Exit(IState nextState) { } public override NPCState Process(double delta) { if ((_currentDuration -= delta) <= 0) { return TelegraphState; } return null; } }