extends BaseState signal StartedWalking @export var walking_speed := 100 @export var direction_component: FacingDirectionComponent @export var body: CharacterBody2D var _movement_component: MovementComponent func GetStateEnum() -> PlayerStateMachine.States: return PlayerStateMachine.States.WALKING func Enter(_extra_parameters: Dictionary) -> void: _movement_component = ComponentUtils.GetMovementComponent(body) StartedWalking.emit() func Update(_delta: float) -> void: var movement_vector := _movement_component.movement_vector if movement_vector == Vector2.ZERO: state_machine.QueueStateChange(PlayerStateMachine.States.IDLE) return body.velocity = movement_vector * walking_speed body.move_and_slide() direction_component.ChangeDirectionUsingMovementVector(movement_vector)