31 lines
805 B
GDScript
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)
|