Коммит e2a620ff создал по автору magcourier's avatar magcourier
Просмотр файлов

Формирование задач/проектов при кнопках полёта

владелец af20c6cb
[gd_scene load_steps=4 format=2]
[ext_resource path="res://blokoj/kosmo/untitled.obj" type="ArrayMesh" id=1]
[ext_resource path="res://blokoj/kosmo/skriptoj/ship.gd" type="Script" id=2]
[sub_resource type="CapsuleShape" id=1]
radius = 3.29615
height = 9.14674
[node name="ship" type="KinematicBody"]
script = ExtResource( 2 )
[node name="CollisionShape" type="CollisionShape" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.06553, 5.3188 )
shape = SubResource( 1 )
[node name="mesh" type="MeshInstance" parent="CollisionShape"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.474594, -5.6999 )
mesh = ExtResource( 1 )
material/0 = null
material/1 = null
material/2 = null
material/3 = null
material/4 = null
[node name="timer" type="Timer" parent="."]
wait_time = 10.0
[connection signal="timeout" from="timer" to="." method="_on_timer_timeout"]
extends HTTPRequest
func _on_http_mutate_request_completed(result, response_code, headers, body):
#print('ответ по мутации:')
#print('result=',result)
#print('response_code=',response_code)
#print('headers=',headers)
var resp = body.get_string_from_utf8()
#print('resp=',resp)
var parsed_resp = parse_json(resp)
#print('parsed_resp',parsed_resp)
#var simpled_data = parsed_resp['data']['universoObjekto']['edges']
#print('simpled_data=',simpled_data)
pass # Replace with function body.
# print(parsed_resp)
pass
func _on_http_mutate_projekto_completed(result, response_code, headers, body):
print('создали проект')
var resp = body.get_string_from_utf8()
var parsed_resp = parse_json(resp)
var simpled_data = parsed_resp['data']['redaktuUniversoProjekto']['universoProjekto']
var uuid = simpled_data['uuid']
$"../ship".projekto_uuid=uuid
# теперь создаём задачу с координатами
func _on_http_mutate_tasko_completed(result, response_code, headers, body):
print('создали задачу')
var resp = body.get_string_from_utf8()
var parsed_resp = parse_json(resp)
var simpled_data = parsed_resp['data']['redaktuUniversoTaskoj']['universoTaskoj']
var uuid = simpled_data['uuid']
$"../ship".tasko_uuid=uuid
......@@ -6,8 +6,6 @@ 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']
#print('simpled_data=',simpled_data)
for item in simpled_data:
if item['node']['resurso']['tipo']['objId'] == 3:
$"../space_object".translation=Vector3(item['node']['koordinatoX'],
......@@ -18,10 +16,34 @@ func _on_http_space_query_request_completed(result, response_code, headers, body
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 нужно найти проект и задачу
print('подошли к чтению проектов/задач = ',item['node']['tasko']['edges'])
var taskoj = item['node']['tasko']['edges']
if len(taskoj)>1:
pass #нужно обнулить все задачи!!!
if len(taskoj)>0:
var tasko = taskoj[0]['node']
print('устанавливаем задачу = ',taskoj[0]['node']['uuid'])
$"../ship".tasko_uuid=taskoj[0]['node']['uuid']
#отправляем корабль по координатам
var position = Vector3(tasko['finKoordinatoX'],tasko['finKoordinatoY'],tasko['finKoordinatoZ'])
var dock = Vector3(0,0,0)
print('пробуем отправить корабль')
$"../ship".set_way_point(position,dock)
$"../way_point".set_way_point(position)
$"../ship/timer".start()
print('устанавливаем проект = ',taskoj[0]['node']['projekto']['uuid'])
$"../ship".projekto_uuid=taskoj[0]['node']['projekto']['uuid']
else:
$"../ship".tasko_uuid=''
$"../ship".projekto_uuid=''
else:
var s = ship.instance()
s.translation=Vector3(item['node']['koordinatoX'],
......
......@@ -7,9 +7,132 @@ const URL = "https://t34.tehnokom.su/api/v1.1/"
# Запрос к API
func objecto_query():
return JSON.print({ "query": "{ universoObjekto (kubo_Id:1, koordinatoX_Gt:-5000000, koordinatoY_Gt:-5000000, koordinatoZ_Gt:-5000000) { edges { node { uuid posedantoId inCosmo nomo { enhavo } priskribo { enhavo } resurso { nomo { enhavo } priskribo { enhavo } tipo { objId nomo { enhavo } } } koordinatoX koordinatoY koordinatoZ } } } }" })
func objecto_query(kuboId, statusoId, kategorioId, tipo_id):
return JSON.print({ "query": "query ($kuboId:Float, $statusoId:Float, $kategorioId:Float, "+
" $tipoId:Float) { universoObjekto (kubo_Id: $kuboId, koordinatoX_Gt:-5000000, "+
" koordinatoY_Gt:-5000000, koordinatoZ_Gt:-5000000) { edges { node { uuid posedantoId "+
" tasko (statuso_Id: $statusoId, kategorio_Id: $kategorioId, tipo_Id: $tipoId){ "+
" edges { node { uuid finKoordinatoX finKoordinatoY finKoordinatoZ projekto { uuid } } } } "+
"inCosmo nomo { enhavo } priskribo { enhavo } resurso { nomo { enhavo } priskribo { enhavo } "+
"tipo { objId nomo { enhavo } } } koordinatoX koordinatoY koordinatoZ "+
" rotaciaX rotaciaY rotaciaZ } } } }",
'variables': {"kuboId":kuboId, "statusoId":statusoId, "kategorioId":kategorioId, "tipoId":tipo_id} })
func objecto_mutation(uuid, koordX, koordY, koordZ):
return JSON.print({ 'query': 'mutation ($uuid:UUID, $koordX:Float, $koordY:Float, $koordZ:Float) { redaktuUniversoObjekto ( uuid: $uuid, koordinatoX: $koordX, koordinatoY: $koordY, koordinatoZ: $koordZ ) { status message universoObjektoj { uuid } } }',
'variables': {"uuid":uuid, "koordX": koordX, "koordY": koordY, "koordZ": koordZ} })
func objecto_mutation(uuid, koordX, koordY, koordZ, rotaciaX, rotaciaY, rotaciaZ):
return JSON.print({ 'query': 'mutation ($uuid:UUID, $koordX:Float, $koordY:Float, $koordZ:Float,'+
' $rotaciaX:Float, $rotaciaY:Float, $rotaciaZ:Float )'+
' { redaktuUniversoObjekto ( uuid: $uuid, koordinatoX: $koordX, koordinatoY: $koordY, '+
'koordinatoZ: $koordZ, rotaciaX: $rotaciaX, rotaciaY: $rotaciaY, rotaciaZ: $rotaciaZ ) '+
' { status message universoObjektoj { uuid } } }',
'variables': {"uuid":uuid, "koordX": koordX, "koordY": koordY, "koordZ": koordZ,
"rotaciaX": rotaciaX, "rotaciaY": rotaciaY, "rotaciaZ": rotaciaZ} })
func instalo_projekto():
var tipoId = 2
var kategorio = 3
var statusoId = 2
var nomo = "Movado"
var priskribo = "Movado de objekto"
return JSON.print({ 'query': 'mutation ($tipoId:Int, $kategorio:[Int],'+
' $nomo:String, $priskribo:String, $statusoId:Int) { redaktuUniversoProjekto ( '+
' tipoId:$tipoId, kategorio:$kategorio, nomo:$nomo, '+
' priskribo:$priskribo, statusoId:$statusoId, publikigo:true ) { status message '+
' universoProjekto { uuid } } }',
'variables': {"tipoId":tipoId, "kategorio": kategorio, "nomo": nomo,
"priskribo": priskribo, "statusoId": statusoId} })
func instalo_tasko_posedanto_koord(uuid, projekto_uuid, kom_koordX, kom_koordY, kom_koordZ,
fin_koordX, fin_koordY, fin_koordZ):
# создаём задачу, создаём владельца проекта, устанавливаем координаты объекту
var tipoId = 2
var kategorio = 3
var statusoId = 2
var nomo = "Movado"
var priskribo = "Movado de objekto"
var tipoPosedantoId = 1
var statusoPosedantoId = 1
return JSON.print({ 'query': 'mutation ($uuid:UUID, $koordX:Float, $koordY:Float, $koordZ:Float, '+
'$tipoId:Int, $kategorio:[Int], $nomo:String, $priskribo:String, $statusoId:Int, $projekto_uuid: String,'+
'$fin_koordX:Float, $fin_koordY:Float, $fin_koordZ:Float, $tipoPosedantoId:Int, $statusoPosedantoId:Int,'+
'$posedantoObjektoUuid:String)'+
' { redaktuUniversoObjekto ( uuid: $uuid, koordinatoX: $koordX, koordinatoY: $koordY, '+
'koordinatoZ: $koordZ ) { status message universoObjektoj { uuid } } '+
'redaktuUniversoProjektoPosedantoj( projektoUuid: $projekto_uuid, tipoId:$tipoPosedantoId, '+
' posedantoObjektoUuid: $posedantoObjektoUuid, statusoId:$statusoPosedantoId, publikigo:true ) '+
' { status message universoProjektoPosedantoj{ uuid } }'+
' redaktuUniversoTaskoj (projektoUuid: $projekto_uuid, tipoId:$tipoId, kategorio:$kategorio, nomo:$nomo, '+
' priskribo:$priskribo, statusoId:$statusoId, publikigo:true, komKoordinatoX:$koordX,'+
' komKoordinatoY:$koordY, komKoordinatoZ:$koordZ, finKoordinatoX:$fin_koordX,'+
' finKoordinatoY:$fin_koordY, finKoordinatoZ:$fin_koordZ) { status '+
' message universoTaskoj { uuid } } }',
'variables': {"uuid":uuid, "koordX": kom_koordX, "koordY": kom_koordY, "koordZ": kom_koordZ,
"tipoId":tipoId, "kategorio": kategorio, "nomo": nomo, "priskribo": priskribo,
"statusoId": statusoId, "projekto_uuid": projekto_uuid, "fin_koordX":fin_koordX,
"fin_koordY":fin_koordY, "fin_koordZ":fin_koordZ, "tipoPosedantoId":tipoPosedantoId,
"statusoPosedantoId":statusoPosedantoId, "posedantoObjektoUuid":uuid} })
func posedanto_tasko(uuid, tasko_uuid):
# создаём владельца задачи
var tipoPosedantoId = 1
var statusoPosedantoId = 1
return JSON.print({ 'query': 'mutation ($uuid:String, '+
' $tasko_uuid: String,'+
' $tipoPosedantoId:Int, $statusoPosedantoId:Int)'+
' { redaktuUniversoTaskoPosedantoj( taskoUuid: $tasko_uuid, tipoId:$tipoPosedantoId, '+
' posedantoObjektoUuid: $uuid, statusoId:$statusoPosedantoId, publikigo:true ) '+
' { status message universoTaskoPosedantoj{ uuid } } }',
'variables': {"uuid":uuid, "tasko_uuid": tasko_uuid, "tipoPosedantoId":tipoPosedantoId,
"statusoPosedantoId":statusoPosedantoId} })
func instalo_tasko_koord(uuid, projekto_uuid, kom_koordX, kom_koordY, kom_koordZ,
fin_koordX, fin_koordY, fin_koordZ):
# создаём задачу, устанавливаем координаты объекту
var tipoId = 2
var kategorio = 3
var statusoId = 2
var nomo = "Movado"
var priskribo = "Movado de objekto"
return JSON.print({ 'query': 'mutation ($uuid:UUID, $koordX:Float, $koordY:Float, $koordZ:Float, '+
'$tipoId:Int, $kategorio:[Int], $nomo:String, $priskribo:String, $statusoId:Int, $projekto_uuid: String,'+
'$fin_koordX:Float, $fin_koordY:Float, $fin_koordZ:Float )'+
'{ redaktuUniversoObjekto ( uuid: $uuid, koordinatoX: $koordX, koordinatoY: $koordY, '+
' koordinatoZ: $koordZ ) { status message universoObjektoj { uuid } } '+
'redaktuUniversoTaskoj (projektoUuid: $projekto_uuid, tipoId:$tipoId, kategorio:$kategorio, nomo:$nomo, '+
' priskribo:$priskribo, statusoId:$statusoId, publikigo:true, komKoordinatoX:$koordX,'+
' komKoordinatoY:$koordY, komKoordinatoZ:$koordZ, finKoordinatoX:$fin_koordX,'+
' finKoordinatoY:$fin_koordY, finKoordinatoZ:$fin_koordZ) { status '+
' message universoTaskoj { uuid } } }',
'variables': {"uuid":uuid, "koordX": kom_koordX, "koordY": kom_koordY, "koordZ": kom_koordZ,
"tipoId":tipoId, "kategorio": kategorio, "nomo": nomo, "priskribo": priskribo,
"statusoId": statusoId, "projekto_uuid": projekto_uuid, "fin_koordX":fin_koordX,
"fin_koordY":fin_koordY, "fin_koordZ":fin_koordZ } })
# завершение задачи
func finado_tasko(tasko_uuid):
var statusoId = 4
return JSON.print({ 'query': 'mutation ($uuid:UUID, '+
' $statusoId:Int, )'+
'{ redaktuUniversoTaskoj (uuid: $uuid, '+
' statusoId:$statusoId) { status '+
' message universoTaskoj { uuid } } }',
'variables': {"uuid":tasko_uuid, "statusoId": statusoId } })
# завершение задачи
func finado_projeko_tasko(projekto_uuid, tasko_uuid):
var statusoId = 4
return JSON.print({ 'query': 'mutation ($tasko_uuid:UUID, $projekto_uuid:UUID, '+
' $statusoId:Int, )'+
'{ redaktuUniversoTaskoj (uuid: $tasko_uuid, '+
' statusoId:$statusoId) { status '+
' message universoTaskoj { uuid } } '+
' redaktuUniversoProjekto (uuid: $projekto_uuid, '+
' statusoId:$statusoId) { status '+
' message universoProjekto { uuid } } '+
'}',
'variables': {"tasko_uuid":tasko_uuid, "statusoId": statusoId, "projekto_uuid":projekto_uuid } })
[gd_scene load_steps=4 format=2]
[ext_resource path="res://blokoj/kosmo/untitled.obj" type="ArrayMesh" id=1]
[sub_resource type="GDScript" id=1]
script/source = "extends KinematicBody
extends KinematicBody
export var Sensitivity_X: float = 0.01
export var Sensitivity_Y: float = 0.01
......@@ -24,6 +19,8 @@ var speed_rotation =0.03
var middle_mouse_pressed = false
var docking_rotation
var uuid
var projekto_uuid
var tasko_uuid
func _ready():
pass
......@@ -43,17 +40,17 @@ func _physics_process(delta):
transform.basis = Basis(Quat(docking_rotation))
translation = way_point
clear_way_point()
print(\"doexali\")
#отправка последних координат
_on_timer_timeout()
print("doexali")
# останавливаем таймер передачи данных на сервер
$timer.stop()
#отправка последних координат и закрытие зачачи с проектом
finofara_flugo()
return
current_speed -= acceleration*delta
current_speed =clamp(current_speed,100,max_speed)
if docking_rotation != null:
transform.basis = Basis(Quat(transform.basis).slerp(docking_rotation,speed_rotation*1.5)) #поворачиваем в дефолтное состояние, чтобы сесть
#print(translation.distance_to(way_point),\": \",current_speed)
#print(translation.distance_to(way_point),": ",current_speed)
move_and_slide(target_dir*delta*current_speed) #Двигаемся к цели
......@@ -72,37 +69,44 @@ func clear_way_point():
const QueryObject = preload(\"skriptoj/queries.gd\")
const QueryObject = preload("../skriptoj/queries.gd")
func _on_timer_timeout():
var q = QueryObject.new()
# Делаем запрос к бэкэнду
$\"../http_mutate\".request(q.URL, Global.backend_headers, true, 2, q.objecto_mutation(uuid, $\"../ship\".translation.x, $\"../ship\".translation.y, $\"../ship\".translation.z))
pass # Replace with function body.
"
[sub_resource type="CapsuleShape" id=2]
radius = 3.29615
height = 9.14674
[node name="ship" type="KinematicBody"]
script = SubResource( 1 )
[node name="CollisionShape" type="CollisionShape" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.06553, 5.3188 )
shape = SubResource( 2 )
[node name="mesh" type="MeshInstance" parent="CollisionShape"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.474594, -5.6999 )
mesh = ExtResource( 1 )
material/0 = null
material/1 = null
material/2 = null
material/3 = null
material/4 = null
$"../http_mutate".request(q.URL, Global.backend_headers, true, 2,
q.objecto_mutation(uuid, $"../ship".translation.x,
$"../ship".translation.y, $"../ship".translation.z,
$"../ship".rotation.x,
$"../ship".rotation.y, $"../ship".rotation.z)
)
func vojkomenco():
var q = QueryObject.new()
if !projekto_uuid:#если проекта нет, то создаём
$"../http_projekto".request(q.URL, Global.backend_headers, true, 2, q.instalo_projekto())
else:#проект есть, изменяем задачу
# ставим задачу в выполененную
# надо использовать другой request, не от поседанто, т.к. поседанто используется при /
# установке владельца задачи и этот может не успеть отработать
$"../http_finado".request(q.URL, Global.backend_headers, true, 2,
q.finado_tasko(tasko_uuid))
# и создаём новую задачу
$"../http_tasko".request(q.URL, Global.backend_headers, true, 2, q.instalo_tasko_koord(
$"../ship".uuid, $"../ship".projekto_uuid,
$"../ship".translation.x, #kom_koordX
$"../ship".translation.y, #kom_koordY
$"../ship".translation.z, #kom_koordZ
$"../ship".way_point.x, #fin_koordX
$"../ship".way_point.y, #fin_koordY
$"../ship".way_point.z)) #fin_koordZ
[node name="timer" type="Timer" parent="."]
wait_time = 10.0
[connection signal="timeout" from="timer" to="." method="_on_timer_timeout"]
func finofara_flugo():
if projekto_uuid:
var q = QueryObject.new()
$"../http_finado".request(q.URL, Global.backend_headers, true, 2,
q.finado_projeko_tasko(projekto_uuid, tasko_uuid))
projekto_uuid=''
tasko_uuid=''
pass
extends Spatial
var choose = false
func _ready():
for i in get_children():
if has_signal(i,"new_way_point"):
i.connect("new_way_point",self,"set_way_point")
func _input(event):
if Input.is_action_just_pressed("ui_select"):
choose=!choose
if choose:
$main_camera.set_privot($ship)
else:
$main_camera.set_privot(null)
func set_way_point(position,dock):
# print(position)
#останавливаем таймер
$"ship/timer".stop()
#передаём текущие координаты
$ship.vojkomenco()#начинаем движение
#запускаем таймер
$"ship/timer".start()
$ship.set_way_point(position,dock)
$way_point.set_way_point(position)
func has_signal(node, sgnl):
if node == null:
return false
node=node.get_signal_list()
for i in node:
if i.name == sgnl:
return true
return false
const QueryObject = preload("queries.gd")
func _on_space_ready():
#космос сформирован
var q = QueryObject.new()
# Делаем запрос к бэкэнду
$http_space_query.request(q.URL, Global.backend_headers, true, 2,
q.objecto_query(1, 2, 3, 2))
func _on_http_projekto_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']['redaktuUniversoProjekto']['universoProjekto']
var uuid = simpled_data['uuid']
$"ship".projekto_uuid=uuid
# теперь создаём задачу с координатами
var q = QueryObject.new()
$"http_tasko".request(q.URL, Global.backend_headers, true, 2, q.instalo_tasko_posedanto_koord(
$"ship".uuid, $"ship".projekto_uuid,
$"ship".translation.x, #kom_koordX
$"ship".translation.y, #kom_koordY
$"ship".translation.z, #kom_koordZ
$"ship".way_point.x, #fin_koordX
$"ship".way_point.y, #fin_koordY
$"ship".way_point.z)) #fin_koordZ
func _on_http_tasko_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']['redaktuUniversoTaskoj']['universoTaskoj']
var uuid = simpled_data['uuid']
$ship.tasko_uuid=uuid
# теперь присвоим владельца задаче
var q = QueryObject.new()
$http_posedanto.request(q.URL, Global.backend_headers, true, 2,
q.posedanto_tasko($"ship".uuid, uuid))
func _on_http_posedanto_request_completed(result, response_code, headers, body):
var resp = body.get_string_from_utf8()
var parsed_resp = parse_json(resp)
pass
func _on_http_finado_request_completed(result, response_code, headers, body):
var resp = body.get_string_from_utf8()
var parsed_resp = parse_json(resp)
pass # Replace with function body.
[gd_scene load_steps=13 format=2]
[ext_resource path="res://blokoj/kosmo/waypoint.tscn" type="PackedScene" id=1]
[ext_resource path="res://blokoj/kosmo/ship.tscn" type="PackedScene" id=2]
[ext_resource path="res://blokoj/kosmo/scenoj/ship.tscn" type="PackedScene" id=2]
[ext_resource path="res://blokoj/kosmo/space_object.tscn" type="PackedScene" id=3]
[ext_resource path="res://blokoj/kosmo/main_camera.tscn" type="PackedScene" id=4]
[ext_resource path="res://blokoj/kosmo/scenoj/main_camera.tscn" type="PackedScene" id=4]
[ext_resource path="res://blokoj/kosmo/star.tscn" type="PackedScene" id=5]
[ext_resource path="res://blokoj/kosmo/skriptoj/http_space_query.gd" type="Script" id=6]
[ext_resource path="res://blokoj/kosmo/skriptoj/http_mutate.gd" type="Script" id=7]
[ext_resource path="res://blokoj/kosmo/skriptoj/space.gd" type="Script" id=8]
[sub_resource type="GDScript" id=1]
script/source = "extends Spatial
var choose = false
func _ready():
for i in get_children():
if has_signal(i,\"new_way_point\"):
i.connect(\"new_way_point\",self,\"set_way_point\")
func _input(event):
if Input.is_action_just_pressed(\"ui_select\"):
choose=!choose
if choose:
$main_camera.set_privot($ship)
else:
$main_camera.set_privot(null)
func set_way_point(position,dock):
print(position)
#останавливаем таймер
$\"ship/timer\".stop()
#передаём текущие координаты
$\"ship\"._on_timer_timeout()
#запускаем таймер
$\"ship/timer\".start()
$ship.set_way_point(position,dock)
$way_point.set_way_point(position)
func has_signal(node, sgnl):
if node == null:
return false
node=node.get_signal_list()
for i in node:
if i.name == sgnl:
return true
return false
const QueryObject = preload(\"skriptoj/queries.gd\")
func _on_space_ready():
#космос сформирован
var q = QueryObject.new()
# Делаем запрос к бэкэнду
$http_space_query.request(q.URL, Global.backend_headers, true, 2, q.objecto_query())
"
[sub_resource type="SphereMesh" id=2]
[sub_resource type="SphereMesh" id=1]
radial_segments = 4
rings = 4
[sub_resource type="OpenSimplexNoise" id=3]
[sub_resource type="OpenSimplexNoise" id=2]
[sub_resource type="NoiseTexture" id=4]
noise = SubResource( 3 )
[sub_resource type="NoiseTexture" id=3]
noise = SubResource( 2 )
[sub_resource type="SpatialMaterial" id=5]
[sub_resource type="SpatialMaterial" id=4]
albedo_color = Color( 0.447059, 0.294118, 0.294118, 1 )
depth_enabled = true
depth_scale = 6.59
depth_deep_parallax = false
depth_flip_tangent = false
depth_flip_binormal = false
depth_texture = SubResource( 4 )
depth_texture = SubResource( 3 )
[node name="space" type="Spatial"]
script = SubResource( 1 )
script = ExtResource( 8 )
[node name="http_space_query" type="HTTPRequest" parent="."]
script = ExtResource( 6 )
......@@ -94,49 +36,57 @@ script = ExtResource( 6 )
[node name="http_mutate" type="HTTPRequest" parent="."]
script = ExtResource( 7 )
[node name="http_projekto" type="HTTPRequest" parent="."]
[node name="http_tasko" type="HTTPRequest" parent="."]
[node name="http_posedanto" type="HTTPRequest" parent="."]
[node name="http_finado" type="HTTPRequest" parent="."]
[node name="ship" parent="." instance=ExtResource( 2 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 129.985 )
visible = false
[node name="asteroid" type="MeshInstance" parent="."]
transform = Transform( 5, 0, 0, 0, 5, 0, 0, 0, 5, 82.0017, 0, 4.63756 )
mesh = SubResource( 2 )
material/0 = SubResource( 5 )
mesh = SubResource( 1 )
material/0 = SubResource( 4 )
[node name="asteroid2" type="MeshInstance" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -79.6439, 0, 4.63756 )
mesh = SubResource( 2 )
material/0 = SubResource( 5 )
mesh = SubResource( 1 )
material/0 = SubResource( 4 )
[node name="asteroid3" type="MeshInstance" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, -95.5832 )
mesh = SubResource( 2 )
material/0 = SubResource( 5 )
mesh = SubResource( 1 )
material/0 = SubResource( 4 )
[node name="asteroid4" type="MeshInstance" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -8.28443, 0, 52.5846 )
mesh = SubResource( 2 )
material/0 = SubResource( 5 )
mesh = SubResource( 1 )
material/0 = SubResource( 4 )
[node name="asteroid5" type="MeshInstance" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 57.2536, 0, 4.63756 )
mesh = SubResource( 2 )
material/0 = SubResource( 5 )
mesh = SubResource( 1 )
material/0 = SubResource( 4 )
[node name="asteroid6" type="MeshInstance" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -63.982, 8.33743, -28.9217 )
mesh = SubResource( 2 )
material/0 = SubResource( 5 )
mesh = SubResource( 1 )
material/0 = SubResource( 4 )
[node name="asteroid7" type="MeshInstance" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -9.74345, 60.5021 )
mesh = SubResource( 2 )
material/0 = SubResource( 5 )
mesh = SubResource( 1 )
material/0 = SubResource( 4 )
[node name="asteroid8" type="MeshInstance" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -78.8565, 6.63192, 14.2732 )
mesh = SubResource( 2 )
material/0 = SubResource( 5 )
mesh = SubResource( 1 )
material/0 = SubResource( 4 )
[node name="way_point" parent="." instance=ExtResource( 1 )]
z_away = 4000
......@@ -152,7 +102,9 @@ distance_min = 0
[node name="star" parent="." instance=ExtResource( 5 )]
[connection signal="ready" from="." to="." method="_on_space_ready"]
[connection signal="script_changed" from="." to="." method="_on_space_script_changed"]
[connection signal="visibility_changed" from="." to="." method="_on_space_visibility_changed"]
[connection signal="request_completed" from="http_space_query" to="http_space_query" method="_on_http_space_query_request_completed"]
[connection signal="request_completed" from="http_mutate" to="http_mutate" method="_on_http_mutate_request_completed"]
[connection signal="request_completed" from="http_projekto" to="." method="_on_http_projekto_request_completed"]
[connection signal="request_completed" from="http_tasko" to="." method="_on_http_tasko_request_completed"]
[connection signal="request_completed" from="http_posedanto" to="." method="_on_http_posedanto_request_completed"]
[connection signal="request_completed" from="http_finado" to="." method="_on_http_finado_request_completed"]
extends "res://addons/gut/test.gd"
var main_sim = preload("res://blokoj/kosmo/kosmo.tscn") # помещаю в переменную сцену
var main_sim = preload("res://blokoj/kosmo/scenoj/kosmo_emul.tscn") # помещаю в переменную сцену
func test_fly_out_station():
......
......@@ -22,6 +22,7 @@ func _ready():
func _input(event):
if Input.is_action_just_pressed(\"left_click\"):
if event is InputEventMouseButton and event.doubleclick:
print('двойной щелчок')
emit_signal(\"new_way_point\",cam.project_position(get_viewport().get_mouse_position(),z_away),null) #Если кнопка нажата, то бросаем лучь из камеры на глубину z_away и получаем точку, тут же устанавливаем новый вейпойнт с координатами
func _physics_process(delta):
......
......@@ -8,4 +8,5 @@ const URL = "https://t34.tehnokom.su/api/v1.1/"
# Запрос к API
func objecto_query():
return JSON.print({ "query": "{ universoObjekto { edges { node { uuid nomo { enhavo } } } } }" })
return JSON.print({ "query": "{ universoObjekto { edges { node { uuid nomo "+
" { enhavo } } } } }" })
Поддерживает Markdown
0% или .
You are about to add 0 people to the discussion. Proceed with caution.
Сначала завершите редактирование этого сообщения!
Пожалуйста, зарегистрируйтесь или чтобы прокомментировать