extends Spatial

const QueryObject = preload("res://kerno/menuo/skriptoj/queries.gd")

func _on_kosmo_pressed():
	if not Global.direktebla_objekto[Global.realeco-2].has('uuid'):
		print('Нет корабля для этого мира')
		return
	var q = QueryObject.new()
	# Делаем запрос к бэкэнду для получения списка управляемых объектов.
	# Ответ будет обрабатываться в функции get_direktebla_request_complete
	var del_uuid = '' #есть ли в базе запись о нахождении в станции
	# задаём координаты выхода из станции, согласно координатам станции
	if len(Global.direktebla_objekto[Global.realeco-2]['ligiloLigilo']['edges'])>0:
		Global.direktebla_objekto[Global.realeco-2]['koordinatoX'] = \
			Global.direktebla_objekto[Global.realeco-2]['ligiloLigilo']['edges'][0]['node']['posedanto']['koordinatoX'] + 120
		Global.direktebla_objekto[Global.realeco-2]['koordinatoY'] = \
			Global.direktebla_objekto[Global.realeco-2]['ligiloLigilo']['edges'][0]['node']['posedanto']['koordinatoY'] + 120
		Global.direktebla_objekto[Global.realeco-2]['koordinatoZ'] = \
			Global.direktebla_objekto[Global.realeco-2]['ligiloLigilo']['edges'][0]['node']['posedanto']['koordinatoZ'] + 200
		del_uuid = Global.direktebla_objekto[Global.realeco-2]['ligiloLigilo']['edges'][0]['node']['uuid']
		Global.kubo = Global.direktebla_objekto[Global.realeco-2]['ligiloLigilo']['edges'][0]['node']['posedanto']['kubo']['objId']
		Global.direktebla_objekto[Global.realeco-2]['rotaciaX'] = 0
		Global.direktebla_objekto[Global.realeco-2]['rotaciaY'] = 0
		Global.direktebla_objekto[Global.realeco-2]['rotaciaZ'] = 0
		Global.direktebla_objekto[Global.realeco-2]['kosmo'] = true
		#удаляем в массиве объектов пользователя указатель на станцию
		Global.direktebla_objekto[Global.realeco-2]['ligiloLigilo']['edges'].clear()
	# Разрегистрируем обработчик сигнала request_completed (вызывается
	# по завершении HTTPRequest)
	Title.get_node("request").connect('request_completed', Title, 'komenci_request_complete')

	var error = Title.get_node("request").request(q.URL_DATA, 
		Global.backend_headers, true, 2, 
		q.go_objekt_kosmo_query(
			Global.direktebla_objekto[Global.realeco-2]['uuid'],
			Global.direktebla_objekto[Global.realeco-2]['koordinatoX'],
			Global.direktebla_objekto[Global.realeco-2]['koordinatoY'], 
			Global.direktebla_objekto[Global.realeco-2]['koordinatoZ'],
			0,0,0, del_uuid, Global.kubo
		))
#	go_objekt_kosmo_query(uuid, koordX, koordY, koordZ, rotaciaX, rotaciaY, rotaciaZ, uuid_ligilo_del, kuboId = 1):	
	get_tree().change_scene('res://blokoj/kosmo/scenoj/space.tscn')

	# Если запрос не выполнен из-за какой-то ошибки
	# TODO: Такие ошибки наверное нужно как-то выводить пользователю?
	if error != OK:
		print('Error in GET (direktebla) Request.')


#const base_ship = preload("res://blokoj/kosmosxipoj/scenoj/base_ship.tscn")
const sxipo = preload("res://blokoj/kosmosxipoj/scenoj/sxipo_fremdulo.tscn")
const sxipo_modulo = preload("res://blokoj/kosmosxipoj/skriptoj/moduloj/sxipo.gd")


func _on_CapKosmostacio_ready():
	# устанавливаем корабль на место 1А
	var ship = null
	ship = sxipo.instance()
	var sh = sxipo_modulo.new()
	sh.create_sxipo(ship, Global.direktebla_objekto[Global.realeco-2])

	ship.visible=true
	
#	ship.rotate_y(1.58)
	ship.rotate_y(deg2rad(-90))
	ship.translation.x = ship.translation.x + 26 # насколько въезжать в парковку
	ship.translation.z = ship.translation.z - 5 # в сторону от центра
	ship.translation.y = ship.translation.y + 2 # высота от пола
	add_child(ship,true)
	$camera.doni_observoj(ship)




