extends KinematicBody2D
# Class to control the player in basic left/right up/down movement.

var speed: float
onready var agent := GSAIAgentLocation.new()


func _ready() -> void:
	agent.position = GSAIUtils.to_vector3(global_position)


func _physics_process(_delta: float) -> void:
	var movement := _get_movement()
	if movement.length_squared() < 0.01:
		return

	# warning-ignore:return_value_discarded
	move_and_slide(movement * speed)
	agent.position = GSAIUtils.to_vector3(global_position)


func _get_movement() -> Vector2:
	return Vector2(
		Input.get_action_strength("sf_right") - Input.get_action_strength("sf_left"),
		Input.get_action_strength("sf_down") - Input.get_action_strength("sf_up")
	)
