extends HTTPRequest

const ship = preload("res://blokoj/kosmo/scenoj/ships.tscn")

func _on_http_space_query_request_completed(result, response_code, headers, body):
	var resp = body.get_string_from_utf8()
	var parsed_resp = parse_json(resp)
	var simpled_data = parsed_resp['data']['universoObjekto']['edges']
	for item in simpled_data:
		if item['node']['resurso']['tipo']['objId'] == 3:#объект станция, на сегодня одна только
			$"../space_object".translation=Vector3(item['node']['koordinatoX'],
				item['node']['koordinatoY'], item['node']['koordinatoZ'])
			$"../space_object".visible=true
		if item['node']['resurso']['tipo']['objId'] == 2:
			#если корабль игрока
			if item['node']['posedantoId'] == Global.id:
				$"../ship".translation=Vector3(item['node']['koordinatoX'],
					item['node']['koordinatoY'], item['node']['koordinatoZ'])
				$"../ship".rotation=Vector3(item['node']['rotaciaX'],
					item['node']['rotaciaY'], item['node']['rotaciaZ'])
				$"../main_camera".translation=Vector3(item['node']['koordinatoX'],
					item['node']['koordinatoY'], item['node']['koordinatoZ']+22)
				$"../ship".visible=true
				$"../ship".uuid=item['node']['uuid']

				# и теперь по uuid нужно найти проект и задачу
				var projektoj = item['node']['projekto']['edges']
				if len(projektoj)>1:
					pass #нужно обнулить все проекты!!!
				if len(projektoj)>0:
					if len(projektoj[0]['node']['tasko']['edges'])==0:
						return 404# нужно закрыть проект!!!
					$"../ship".projekto_uuid=projektoj[0]['node']['uuid']
					#заполняем маршрут
					$"../b_itinero/itinero".itineroj.clear()
					for tasko in projektoj[0]['node']['tasko']['edges']:
						if tasko['node']['statuso']['objId']==2:#задачу, которая "В работе" ставим первой
							$"../b_itinero/itinero".itineroj.append({
								'uuid_tasko':tasko['node']['uuid'],
								'nomo':'координаты в космосе',
								'koordinatoX':tasko['node']['finKoordinatoX'],
								'koordinatoY':tasko['node']['finKoordinatoY'],
								'koordinatoZ':tasko['node']['finKoordinatoZ']
							})
							break;
					for tasko in projektoj[0]['node']['tasko']['edges']:
						if tasko['node']['statuso']['objId']==1:# добавляем остальные задачи
							$"../b_itinero/itinero".itineroj.append({
								'uuid_tasko':tasko['node']['uuid'],
								'nomo':'координаты в космосе',
								'koordinatoX':tasko['node']['finKoordinatoX'],
								'koordinatoY':tasko['node']['finKoordinatoY'],
								'koordinatoZ':tasko['node']['finKoordinatoZ']
							})
					if len($"../b_itinero/itinero".itineroj)==0:
						$"../ship".projekto_uuid='' #задач на полёт нет, проект надо бы закрыть
						return 404 #
					#отправляем корабль по координатам
					var position = Vector3($"../b_itinero/itinero".itineroj[0]['koordinatoX'],
						$"../b_itinero/itinero".itineroj[0]['koordinatoY'],
						$"../b_itinero/itinero".itineroj[0]['koordinatoZ'])
					# print('загрузил маршрут и должен лететь position=',position)
					$"../b_itinero/itinero".FillItemList()
					$"../ship".set_way_point(position,null)
					$"../way_point".set_way_point(position)
					$"../ship/timer".start()
					$"../b_itinero/itinero/canvas/MarginContainer/VBoxContainer/HBoxContainer/kom_itinero".disabled=true
					$"../b_itinero/itinero/canvas/MarginContainer/VBoxContainer/HBoxContainer/itinero_next".disabled=false
					$"../b_itinero/itinero/canvas/MarginContainer/VBoxContainer/HBoxContainer/itinero_fin".disabled=false
					$"../b_itinero/itinero/canvas/MarginContainer/VBoxContainer/HBoxContainer/itinero_clear".disabled=false
				
				else:
					$"../ship".projekto_uuid=''
			else:
				var s = ship.instance()
				s.translation=Vector3(item['node']['koordinatoX'],
					item['node']['koordinatoY'], item['node']['koordinatoZ'])
#				s.rotation=Vector3(item['node']['rotaciaX'],
#					item['node']['rotaciaY'], item['node']['rotaciaZ'])
				$"../".add_child(s)




