Files
Archipelago-Game/Entities/Characters/Player/Scripts/States/walking_state.gd
cgandeg 7cd34cb07e beta-1.5 (#4)
Reviewed-on: #4
2026-03-28 20:34:59 -06:00

31 lines
805 B
GDScript

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)