extends 'res://scripts/Vehicle.gd'

func get_input_vector() -> Vector3:
	var input_vector = Vector3.ZERO
	var camera_path = "/root/MatchNode3D/Players/GridContainer/SubViewportContainer/SubViewport/Player1/Camera3D"
	var camera = get_node(camera_path)

	if camera:
		var camera_transform = camera.global_transform
		var forward_direction = -camera_transform.basis.z
		var right_direction = camera_transform.basis.x
		var y_movement = input_vector.y

		if Input.is_action_pressed("move_forward2"):
			input_vector += forward_direction
		if Input.is_action_pressed("move_backward2"):
			input_vector -= forward_direction
		if Input.is_action_pressed("move_left2"):
			input_vector -= right_direction
		if Input.is_action_pressed("move_right2"):
			input_vector += right_direction
		
		# Zero out the Y component to restrict movement to the XZ plane
		input_vector.y = 0
		
		# Add back the preserved Y movement
		input_vector.y = y_movement
		
		if Input.is_action_pressed("move_up2"):
			input_vector.y += 1
		if Input.is_action_pressed("move_down2"):
			input_vector.y -= 1

		return input_vector.normalized()
	else:
		print("Camera not found")
		return Vector3.ZERO
