extends NodeState @export var player: Player @export var animatedSprite2D: AnimatedSprite2D @export var collisionShapeMove: AnimationPlayer @onready var friction = player.friction @warning_ignore("unused_parameter") func on_process(delta: float) -> void: pass @warning_ignore("unused_parameter") func on_phyisics_process(delta: float) -> void: player.velocity.x = move_toward(player.velocity.x, 0, friction * delta) transition_states() func enter() -> void: collisionShapeMove.play("Crouch") animatedSprite2D.play("Crouch") func exit() -> void: animatedSprite2D.stop() func transition_states() -> void: #transition states #run state var direction = GameInputEvents.movement_input() if !player.is_on_floor(): collisionShapeMove.play("Normal") transition.emit("fall") if direction and player.is_on_floor(): transition.emit("crouchwalk") #jump state if GameInputEvents.jump_input(): collisionShapeMove.play("Normal") transition.emit("jump") #idle state if not Input.is_action_pressed("crouch"): collisionShapeMove.play("Normal") transition.emit("idle")