extends NodeState @export var player: Player @export var animatedSprite2D: AnimatedSprite2D const jumpGravity = player.GRAVITY @onready var dashSpeed: float = player.dashSpeed @onready var jumpHight: float = player.jumpHight var dashTime: float = .2 var dashDone: bool = false var canDash: bool = true @warning_ignore("unused_parameter") func on_process(delta: float) -> void: pass @warning_ignore("unused_parameter") func on_phyisics_process(delta: float) -> void: player.velocity.y += jumpGravity * delta var direction = -1 if animatedSprite2D.flip_h else 1 if direction: player.velocity.x =+ dashSpeed * direction transition_states() func enter() -> void: player.canDash = false dashDone = false animatedSprite2D.play("Fall") await get_tree().create_timer(dashTime).timeout dashDone = true func exit() -> void: animatedSprite2D.stop() func transition_states() -> void: if not dashDone: return if player.is_on_floor(): transition.emit("idle") if not player.is_on_floor(): transition.emit("fall")