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

um#206 Появилась возможность входа в игровое пространство

владелец d338882f
[gd_resource type="Environment" load_steps=2 format=2] [gd_resource type="Environment" load_steps=2 format=3 uid="uid://bphom6oudy5i4"]
[sub_resource type="Sky" id=1] [sub_resource type="Sky" id="1"]
[resource] [resource]
background_mode = 2 background_mode = 2
background_sky = SubResource( 1 ) sky = SubResource("1")
ambient_light_color = Color( 0.501961, 0.501961, 0.501961, 1 ) ambient_light_color = Color(0.501961, 0.501961, 0.501961, 1)
ambient_light_energy = 0.03
ambient_light_sky_contribution = 0.0 ambient_light_sky_contribution = 0.0
fog_enabled = true ambient_light_energy = 0.03
fog_sun_color = Color( 1, 1, 1, 1 )
fog_depth_end = 3000.0
fog_depth_curve = 4.14106
fog_transmit_curve = 5.09824
tonemap_mode = 2 tonemap_mode = 2
glow_intensity = 1.46 glow_intensity = 1.46
glow_strength = 0.71 glow_strength = 0.71
glow_bloom = 0.11 glow_bloom = 0.11
glow_blend_mode = 0 glow_blend_mode = 0
fog_enabled = true
adjustment_enabled = true adjustment_enabled = true
[gd_scene load_steps=2 format=2] [gd_scene load_steps=2 format=3 uid="uid://bhsx4rrxim731"]
[ext_resource path="res://blokoj/kosmo/skriptoj/main_camera.gd" type="Script" id=1] [ext_resource type="Script" path="res://blokoj/kosmo/skriptoj/main_camera.gd" id="1"]
[node name="main_camera" type="Camera3D"] [node name="main_camera" type="Camera3D"]
far = 8192.0 far = 8192.0
script = ExtResource( 1 ) script = ExtResource("1")
[node name="down" type="RayCast3D" parent="."] [node name="down" type="RayCast3D" parent="."]
enabled = true
[node name="up" type="RayCast3D" parent="."] [node name="up" type="RayCast3D" parent="."]
enabled = true target_position = Vector3(0, 1, 0)
target_position = Vector3( 0, 1, 0 )
[node name="forward" type="RayCast3D" parent="."] [node name="forward" type="RayCast3D" parent="."]
enabled = true target_position = Vector3(0, 0, -1)
target_position = Vector3( 0, 0, -1 )
[node name="back" type="RayCast3D" parent="."] [node name="back" type="RayCast3D" parent="."]
enabled = true target_position = Vector3(0, 0, 1)
target_position = Vector3( 0, 0, 1 )
[node name="right" type="RayCast3D" parent="."] [node name="right" type="RayCast3D" parent="."]
enabled = true target_position = Vector3(1, 0, 0)
target_position = Vector3( 1, 0, 0 )
[node name="left" type="RayCast3D" parent="."] [node name="left" type="RayCast3D" parent="."]
enabled = true target_position = Vector3(-1, 0, 0)
target_position = Vector3( -1, 0, 0 )
[gd_scene load_steps=9 format=2] [gd_scene load_steps=9 format=3 uid="uid://djudddw05f1rq"]
[ext_resource path="res://blokoj/kosmo/shaders/noise.png" type="Texture2D" id=1] [ext_resource type="Texture2D" uid="uid://dx55w8ag0tfp1" path="res://blokoj/kosmo/shaders/noise.png" id="1"]
[ext_resource path="res://blokoj/kosmo/shaders/star.gdshader" type="Shader" id=2] [ext_resource type="Shader" path="res://blokoj/kosmo/shaders/star.gdshader" id="2"]
[ext_resource path="res://resursoj/stelamapo_8k.jpg" type="Texture2D" id=3] [ext_resource type="Texture2D" uid="uid://hf68qw7pb5y6" path="res://resursoj/stelamapo_8k.jpg" id="3"]
[ext_resource path="res://blokoj/kosmo/resursoj/space_env.tres" type="Environment" id=4] [ext_resource type="Environment" uid="uid://bphom6oudy5i4" path="res://blokoj/kosmo/resursoj/space_env.tres" id="4"]
[ext_resource path="res://addons/SIsilicon.vfx.godrays/GodRays.gd" type="Script" id=5] [ext_resource type="Script" path="res://addons/SIsilicon.vfx.godrays/GodRays.gd" id="5"]
[ext_resource path="res://blokoj/kosmo/skriptoj/star.gd" type="Script" id=6] [ext_resource type="Script" path="res://blokoj/kosmo/skriptoj/star.gd" id="6"]
[sub_resource type="ShaderMaterial" id=1] [sub_resource type="ShaderMaterial" id="1"]
resource_local_to_scene = true resource_local_to_scene = true
shader = ExtResource( 2 ) shader = ExtResource("2")
shader_param/iTime = 0.0 shader_parameter/iTime = 0.0
shader_param/sun_radius = 20.0 shader_parameter/sun_radius = 20.0
shader_param/noise_freq = 10.0 shader_parameter/noise_freq = 10.0
shader_param/SUN_POS = Vector3( 0, 0, -1 ) shader_parameter/SUN_POS = Vector3(0, 0, -1)
shader_param/sun_color = Color( 0.933333, 0.792157, 0.0313726, 1 ) shader_parameter/sun_color = Color(0.933333, 0.792157, 0.0313726, 1)
shader_param/Noise = ExtResource( 1 ) shader_parameter/Noise = ExtResource("1")
shader_param/space_env_texture = ExtResource( 3 ) shader_parameter/space_env_texture = ExtResource("3")
[sub_resource type="ImageTexture" id=2] [sub_resource type="ImageTexture" id="2"]
flags = 0
lossy_quality = 1.0
flags = 0
size = Vector2( 2048, 2048 )
[node name="star" type="Node3D"] [node name="star" type="Node3D"]
script = ExtResource( 6 ) script = ExtResource("6")
[node name="Env" type="WorldEnvironment" parent="."] [node name="Env" type="WorldEnvironment" parent="."]
environment = ExtResource( 4 ) environment = ExtResource("4")
[node name="space_viewport" type="SubViewport" parent="."] [node name="space_viewport" type="SubViewport" parent="."]
size = Vector2( 2048, 2048 ) size = Vector2i(2048, 2048)
render_target_update_mode = 3 render_target_update_mode = 3
[node name="space_texture" type="Sprite2D" parent="space_viewport"] [node name="space_texture" type="Sprite2D" parent="space_viewport"]
material = SubResource( 1 ) material = SubResource("1")
texture = SubResource( 2 ) texture = SubResource("2")
centered = false centered = false
[node name="star" type="DirectionalLight3D" parent="."] [node name="star" type="DirectionalLight3D" parent="."]
[node name="GodRays" type="Node3D" parent="star"] [node name="GodRays" type="Node3D" parent="star"]
visible = false visible = false
script = ExtResource( 5 ) script = ExtResource("5")
exposure = 0.2 exposure = 0.2
light_size = 1.0 light_size = 1.0
[node name="Control" type="Control" parent="."] [node name="Control" type="Control" parent="."]
visible = false visible = false
layout_mode = 3
anchors_preset = 0
offset_right = 40.0 offset_right = 40.0
offset_bottom = 40.0 offset_bottom = 40.0
__meta__ = {
"_edit_use_anchors_": false
}
[node name="Label2" type="Label" parent="Control"] [node name="Label2" type="Label" parent="Control"]
layout_mode = 0
offset_left = 316.696 offset_left = 316.696
offset_top = 490.868 offset_top = 490.868
offset_right = 380.696 offset_right = 380.696
offset_bottom = 504.868 offset_bottom = 504.868
text = "sun_noise" text = "sun_noise"
__meta__ = {
"_edit_use_anchors_": false
}
[node name="HScrollBar" type="HScrollBar" parent="Control/Label2"] [node name="HScrollBar" type="HScrollBar" parent="Control/Label2"]
layout_mode = 0
offset_left = 0.735092 offset_left = 0.735092
offset_top = 16.1721 offset_top = 16.1721
offset_right = 208.735 offset_right = 208.735
offset_bottom = 28.1721 offset_bottom = 28.1721
__meta__ = {
"_edit_use_anchors_": false
}
[node name="CheckBox" type="CheckBox" parent="Control"] [node name="CheckBox" type="CheckBox" parent="Control"]
layout_mode = 0
offset_left = 313.938 offset_left = 313.938
offset_top = 458.781 offset_top = 458.781
offset_right = 412.938 offset_right = 412.938
offset_bottom = 482.781 offset_bottom = 482.781
text = "MEGA_SUN" text = "MEGA_SUN"
__meta__ = {
"_edit_use_anchors_": false
}
[connection signal="value_changed" from="Control/Label2/HScrollBar" to="." method="_on_HScrollBar_value_changed"] [connection signal="value_changed" from="Control/Label2/HScrollBar" to="." method="_on_HScrollBar_value_changed"]
[connection signal="toggled" from="Control/CheckBox" to="." method="_on_CheckBox_toggled"] [connection signal="toggled" from="Control/CheckBox" to="." method="_on_CheckBox_toggled"]
...@@ -9,13 +9,16 @@ var right_click_mode: bool= false ...@@ -9,13 +9,16 @@ var right_click_mode: bool= false
# Freelook settings # Freelook settings
@export var freelook = true @export var freelook = true
@export (float, 0.0, 1.0) var sensitivity = 0.5 @export_range(0.0, 1.0) var sensitivity = 0.5
@export (float, 0.0, 0.999, 0.001) var smoothness = 0.5: set = set_smoothness @export_range(0.0, 0.999, 0.001) var smoothness = 0.5: set = set_smoothness
@export (int, 0, 360) var yaw_limit = 360 @export_range(0, 360) var yaw_limit = 360
@export (int, 0, 360) var pitch_limit = 360 #@export (float, 0.0, 1.0) var sensitivity = 0.5
#@export (float, 0.0, 0.999, 0.001) var smoothness = 0.5: set = set_smoothness
#@export (int, 0, 360) var yaw_limit = 360
@export_range(0, 360) var pitch_limit = 360
# Pivot Settings # Pivot Settings
@export var privot: NodePath: set = set_privot @export var privot: Node3D: set = set_privot # true - камера следит за кораблём
@export var rotate_privot = false @export var rotate_privot = false
var distance =25.0 var distance =25.0
var distance_smooth var distance_smooth
...@@ -24,8 +27,10 @@ var distance_smooth ...@@ -24,8 +27,10 @@ var distance_smooth
@export var distance_step: float = 2.0 @export var distance_step: float = 2.0
# Movement settings # Movement settings
@export (float, 0.0, 1.0) var acceleration = 0.1 @export_range(0.0, 1.0) var acceleration = 0.1
@export (float, 0.0, 0.0, 1.0) var deceleration = 0.1 @export_range(0.0, 0.0, 1.0) var deceleration = 0.1
#@export (float, 0.0, 1.0) var acceleration = 0.1
#@export (float, 0.0, 0.0, 1.0) var deceleration = 0.1
@export var max_speed = Vector3(100.0, 100.0, 100.0) @export var max_speed = Vector3(100.0, 100.0, 100.0)
@export var local = true @export var local = true
...@@ -44,10 +49,11 @@ const ROTATION_MULTIPLIER = 500 ...@@ -44,10 +49,11 @@ const ROTATION_MULTIPLIER = 500
func _ready(): func _ready():
# Управление камерой при RU раскладке клав. # Управление камерой при RU раскладке клав.
var event = InputEventKey.new() var event = InputEventKey.new()
var a = ord ("ф") var a = "ф".unicode_at(0)
var w = ord ("ц") #var w = ord ("ц")
var s = ord ("ы") var w = "ц".unicode_at(0)
var d = ord ("в") var s = "ы".unicode_at(0)
var d = "в".unicode_at(0)
event.unicode = a event.unicode = a
event.unicode = w event.unicode = w
event.unicode = s event.unicode = s
...@@ -88,7 +94,7 @@ func _physics_process(delta): ...@@ -88,7 +94,7 @@ func _physics_process(delta):
if privot: if privot:
distance += (Input.get_action_strength("ui_down") - Input.get_action_strength("ui_up")) * distance_step * 0.1 distance += (Input.get_action_strength("ui_down") - Input.get_action_strength("ui_up")) * distance_step * 0.1
distance = clamp(distance,distance_min,distance_max) distance = clamp(distance,distance_min,distance_max)
distance_smooth =lerp(distance_smooth,distance,0.05) distance_smooth =lerpf(distance_smooth,distance,0.05)
set_position(privot.get_position()) set_position(privot.get_position())
translate_object_local(Vector3(0.0, 0.0, distance_smooth)) translate_object_local(Vector3(0.0, 0.0, distance_smooth))
else: else:
......
...@@ -13,7 +13,7 @@ var set_celo = true # признак взятия в прицел ...@@ -13,7 +13,7 @@ var set_celo = true # признак взятия в прицел
func _unhandled_input(event): func _unhandled_input(event):
if event is InputEventMouseButton: if event is InputEventMouseButton:
if event.doubleclick and (event.button_index == 1): # проверка на нажатие ЛКМ if event.double_click and (event.button_index == 1): # проверка на нажатие ЛКМ
var celo = Transform3D(Basis.IDENTITY, camera.project_position(get_viewport().get_mouse_position(),z_away)) var celo = Transform3D(Basis.IDENTITY, camera.project_position(get_viewport().get_mouse_position(),z_away))
Global.fenestro_itinero.okazigi_itinero( Global.fenestro_itinero.okazigi_itinero(
'', 'Движение', 'Движение по координатам', celo.origin.x, celo.origin.y, celo.origin.z, '', 'Движение', 'Движение по координатам', celo.origin.x, celo.origin.y, celo.origin.z,
......
...@@ -693,7 +693,7 @@ func _on_space_tree_exiting(): ...@@ -693,7 +693,7 @@ func _on_space_tree_exiting():
""" """
for ch in get_children(): for ch in get_children():
if ch.is_in_group('create'): if ch.is_in_group('create'):
ch.free() ch.free() # выдаёт ошибку при попатке входа в станцию: Attempted to frame a locked object (calling or emitting)
Global.fenestro_kosmo = null Global.fenestro_kosmo = null
if node_objekto: if node_objekto:
......
...@@ -4,7 +4,8 @@ var cam ...@@ -4,7 +4,8 @@ var cam
var mega_sun = false var mega_sun = false
func _ready(): func _ready():
cam = get_tree().get_root().get_camera_3d() # получаем камеру cam = get_tree().get_root().get_camera_3d() # получаем камеру
$Env.environment.background_sky.set_panorama($space_viewport.get_texture()) $Env.environment.sky.set_material($space_viewport.get_texture())
#$Env.environment.sky.set_panorama($space_viewport.get_texture())
func _process(delta): func _process(delta):
iTime +=delta iTime +=delta
......
...@@ -46,7 +46,7 @@ func _physics_process(delta): ...@@ -46,7 +46,7 @@ func _physics_process(delta):
if distance <1: #Если это не последняя точка, то мы не тормозим, так что завышаем расстояние, чтобы не проскочить эту точку if distance <1: #Если это не последняя точка, то мы не тормозим, так что завышаем расстояние, чтобы не проскочить эту точку
dec_route() dec_route()
return return
current_speed = lerp(current_speed,max_speed,delta*acceleration)#ускоряемся current_speed = lerpf(current_speed,max_speed,delta*acceleration)#ускоряемся
transform.basis = transform.basis.slerp(target_rot,speed_rotation*delta) #потихоньку поворачиваем корабль на цель. Взято у Сканера из урока про зомбей. Quaternion(transform.basis) - текущий поворот корабля transform.basis = transform.basis.slerp(target_rot,speed_rotation*delta) #потихоньку поворачиваем корабль на цель. Взято у Сканера из урока про зомбей. Quaternion(transform.basis) - текущий поворот корабля
else: else:
#проверяем поворот в сторону цели #проверяем поворот в сторону цели
...@@ -55,14 +55,14 @@ func _physics_process(delta): ...@@ -55,14 +55,14 @@ func _physics_process(delta):
# if distance > max_speed*delta/acceleration:#Тут сомнительная формула от фонаря, вычисляющая примерно откуда надо начинать тормозить корабль. # if distance > max_speed*delta/acceleration:#Тут сомнительная формула от фонаря, вычисляющая примерно откуда надо начинать тормозить корабль.
if distance > max_speed*acceleration:#Тут сомнительная формула от фонаря, вычисляющая примерно откуда надо начинать тормозить корабль. if distance > max_speed*acceleration:#Тут сомнительная формула от фонаря, вычисляющая примерно откуда надо начинать тормозить корабль.
current_speed = lerp(current_speed,max_speed,delta*acceleration)#ускоряемся current_speed = lerpf(current_speed,max_speed,delta*acceleration)#ускоряемся
var a = Quaternion(transform.basis) var a = Quaternion(transform.basis)
var c = a.slerp(target_rot,speed_rotation*delta) #потихоньку поворачиваем корабль на цель. Взято у Сканера из урока про зомбей. Quaternion(transform.basis) - текущий поворот корабля var c = a.slerp(target_rot,speed_rotation*delta) #потихоньку поворачиваем корабль на цель. Взято у Сканера из урока про зомбей. Quaternion(transform.basis) - текущий поворот корабля
transform.basis = Basis(c) transform.basis = Basis(c)
# transform.basis = transform.basis.slerp(target_rot,speed_rotation*delta) #потихоньку поворачиваем корабль на цель. Взято у Сканера из урока про зомбей. Quat(transform.basis) - текущий поворот корабля # transform.basis = transform.basis.slerp(target_rot,speed_rotation*delta) #потихоньку поворачиваем корабль на цель. Взято у Сканера из урока про зомбей. Quat(transform.basis) - текущий поворот корабля
else: #Если это последняя точка, то мы тормозим, и задаём минимальное расстояние, чтобы точнее выставить корабль else: #Если это последняя точка, то мы тормозим, и задаём минимальное расстояние, чтобы точнее выставить корабль
# current_speed = lerp(current_speed,50,delta*acceleration)#замедляемся # current_speed = lerp(current_speed,50,delta*acceleration)#замедляемся
current_speed = lerp(current_speed,1,delta*acceleration)#замедляемся current_speed = lerpf(current_speed,1,delta*acceleration)#замедляемся
if Global.fenestro_itinero.itineroj.front()['transform'].basis !=Basis.IDENTITY: if Global.fenestro_itinero.itineroj.front()['transform'].basis !=Basis.IDENTITY:
transform.basis = transform.basis.slerp(Quaternion(Global.fenestro_itinero.itineroj.front()['transform'].basis),speed_rotation*delta*1.5) #поворачиваем в дефолтное состояние, чтобы сесть transform.basis = transform.basis.slerp(Quaternion(Global.fenestro_itinero.itineroj.front()['transform'].basis),speed_rotation*delta*1.5) #поворачиваем в дефолтное состояние, чтобы сесть
if distance <0.01: if distance <0.01:
......
...@@ -61,7 +61,7 @@ func _physics_process(delta): ...@@ -61,7 +61,7 @@ func _physics_process(delta):
if distance_target <1: #Если это не последняя точка, то мы не тормозим, так что завышаем расстояние, чтобы не проскочить эту точку if distance_target <1: #Если это не последняя точка, то мы не тормозим, так что завышаем расстояние, чтобы не проскочить эту точку
dec_route() dec_route()
return return
current_speed = lerp(current_speed,max_speed,delta*acceleration)#ускоряемся current_speed = lerpf(current_speed,max_speed,delta*acceleration)#ускоряемся
transform.basis = transform.basis.slerp(target_rot,speed_rotation*delta) #потихоньку поворачиваем корабль на цель. Взято у Сканера из урока про зомбей. Quaternion(transform.basis) - текущий поворот корабля transform.basis = transform.basis.slerp(target_rot,speed_rotation*delta) #потихоньку поворачиваем корабль на цель. Взято у Сканера из урока про зомбей. Quaternion(transform.basis) - текущий поворот корабля
else: else:
#проверяем поворот в сторону цели #проверяем поворот в сторону цели
...@@ -70,14 +70,14 @@ func _physics_process(delta): ...@@ -70,14 +70,14 @@ func _physics_process(delta):
# if distance_target > max_speed*delta/acceleration:#Тут сомнительная формула от фонаря, вычисляющая примерно откуда надо начинать тормозить корабль. # if distance_target > max_speed*delta/acceleration:#Тут сомнительная формула от фонаря, вычисляющая примерно откуда надо начинать тормозить корабль.
if distance_target > max_speed*acceleration:#Тут сомнительная формула от фонаря, вычисляющая примерно откуда надо начинать тормозить корабль. if distance_target > max_speed*acceleration:#Тут сомнительная формула от фонаря, вычисляющая примерно откуда надо начинать тормозить корабль.
current_speed = lerp(current_speed,max_speed,delta*acceleration)#ускоряемся current_speed = lerpf(current_speed,max_speed,delta*acceleration)#ускоряемся
var a = Quaternion(transform.basis) var a = Quaternion(transform.basis)
var c = a.slerp(target_rot,speed_rotation*delta) #потихоньку поворачиваем корабль на цель. Взято у Сканера из урока про зомбей. Quaternion(transform.basis) - текущий поворот корабля var c = a.slerp(target_rot,speed_rotation*delta) #потихоньку поворачиваем корабль на цель. Взято у Сканера из урока про зомбей. Quaternion(transform.basis) - текущий поворот корабля
transform.basis = Basis(c) transform.basis = Basis(c)
# transform.basis = transform.basis.slerp(target_rot,speed_rotation*delta) #потихоньку поворачиваем корабль на цель. Взято у Сканера из урока про зомбей. Quat(transform.basis) - текущий поворот корабля # transform.basis = transform.basis.slerp(target_rot,speed_rotation*delta) #потихоньку поворачиваем корабль на цель. Взято у Сканера из урока про зомбей. Quat(transform.basis) - текущий поворот корабля
else: #Если это последняя точка, то мы тормозим, и задаём минимальное расстояние, чтобы точнее выставить корабль else: #Если это последняя точка, то мы тормозим, и задаём минимальное расстояние, чтобы точнее выставить корабль
# current_speed = lerp(current_speed,50,delta*acceleration)#замедляемся # current_speed = lerp(current_speed,50,delta*acceleration)#замедляемся
current_speed = lerp(current_speed,1,delta*acceleration)#замедляемся current_speed = lerpf(current_speed,1,delta*acceleration)#замедляемся
if front.basis !=Basis.IDENTITY: if front.basis !=Basis.IDENTITY:
transform.basis = transform.basis.slerp(Quaternion(front.basis),speed_rotation*delta*1.5) #поворачиваем в дефолтное состояние, чтобы сесть transform.basis = transform.basis.slerp(Quaternion(front.basis),speed_rotation*delta*1.5) #поворачиваем в дефолтное состояние, чтобы сесть
if distance_target <0.01: if distance_target <0.01:
......
...@@ -55,7 +55,7 @@ func scene(name): ...@@ -55,7 +55,7 @@ func scene(name):
# warning-ignore:return_value_discarded # warning-ignore:return_value_discarded
get_tree().change_scene_to_file('res://blokoj/rajtigo/'+name+'.tscn') get_tree().change_scene_to_file('res://blokoj/rajtigo/'+name+'.tscn')
# =Global.direktebla_objekto[objekt[node][realeco[objId]]=={koordinatoX:49905.585938, koordinatoY:512.045044, koordinatoZ:5.943917, ligilo:{edges:[{node:{ligilo:{ligilo:{edges:[...]}, nomo:{enhavo:Vostok Двигатель}}, tipo:{objId:1}}}, {node:{ligilo:{ligilo:{edges:[...]}, nomo:{enhavo:Vostok Двигатель}}, tipo:{objId:1}}}, {node:{ligilo:{ligilo:{edges:[{node:{konektiloLigilo:4, konektiloPosedanto:3, ligilo:{uuid:047b37d5-eb15-4548-8eb8-2de6913dd6a3}}}, {node:{konektiloLigilo:3, konektiloPosedanto:4, ligilo:{uuid:a9f5962d-7b7b-4007-a8ae-c07d7a8c2e18}}}]}, nomo:{enhavo:Vostok Грузовой Модуль}}, tipo:{objId:1}}}, {node:{ligilo:{ligilo:{edges:[{node:{konektiloLigilo:Null, konektiloPosedanto:Null, ligilo:{uuid:bc40a651-7415-4b5d-9e89-1f2a9d22cac5}}}, {node:{konektiloLigilo:1, konektiloPosedanto:2, ligilo:{uuid:08d6d319-5d5f-462e-b1be-7532c881ed9c}}}]}, nomo:{enhavo:Vostok Модуль Кабины}}, tipo:{objId:1}}}]}, ligiloLigilo:{edges:[...]}, nomo:{enhavo:Vostok Vasiliy}, posedanto:{edges:[{node:{posedantoUzanto:{siriusoUzanto:{objId:6417}}}}]}, posedantoObjekto:Null, priskribo:{enhavo:Базовый космический корабль}, projekto:{edges:[]}, realeco:{objId:2}, resurso:{nomo:{enhavo:Vostok U2}, objId:3, priskribo:{enhavo:Базовый космический корабль}, tipo:{nomo:{enhavo:Космический корабль}, objId:2}}, rotaciaX:0.631496, rotaciaY:1.489518, rotaciaZ:0, uuid:1790592a-8f10-4ca1-a829-9dced5975504 # (пример хранения данных в списке объектов, пока актуально 22.01.24) =Global.direktebla_objekto[objekt[node][realeco[objId]]=={koordinatoX:49905.585938, koordinatoY:512.045044, koordinatoZ:5.943917, ligilo:{edges:[{node:{ligilo:{ligilo:{edges:[...]}, nomo:{enhavo:Vostok Двигатель}}, tipo:{objId:1}}}, {node:{ligilo:{ligilo:{edges:[...]}, nomo:{enhavo:Vostok Двигатель}}, tipo:{objId:1}}}, {node:{ligilo:{ligilo:{edges:[{node:{konektiloLigilo:4, konektiloPosedanto:3, ligilo:{uuid:047b37d5-eb15-4548-8eb8-2de6913dd6a3}}}, {node:{konektiloLigilo:3, konektiloPosedanto:4, ligilo:{uuid:a9f5962d-7b7b-4007-a8ae-c07d7a8c2e18}}}]}, nomo:{enhavo:Vostok Грузовой Модуль}}, tipo:{objId:1}}}, {node:{ligilo:{ligilo:{edges:[{node:{konektiloLigilo:Null, konektiloPosedanto:Null, ligilo:{uuid:bc40a651-7415-4b5d-9e89-1f2a9d22cac5}}}, {node:{konektiloLigilo:1, konektiloPosedanto:2, ligilo:{uuid:08d6d319-5d5f-462e-b1be-7532c881ed9c}}}]}, nomo:{enhavo:Vostok Модуль Кабины}}, tipo:{objId:1}}}]}, ligiloLigilo:{edges:[...]}, nomo:{enhavo:Vostok Vasiliy}, posedanto:{edges:[{node:{posedantoUzanto:{siriusoUzanto:{objId:6417}}}}]}, posedantoObjekto:Null, priskribo:{enhavo:Базовый космический корабль}, projekto:{edges:[]}, realeco:{objId:2}, resurso:{nomo:{enhavo:Vostok U2}, objId:3, priskribo:{enhavo:Базовый космический корабль}, tipo:{nomo:{enhavo:Космический корабль}, objId:2}}, rotaciaX:0.631496, rotaciaY:1.489518, rotaciaZ:0, uuid:1790592a-8f10-4ca1-a829-9dced5975504
func _ready(): func _ready():
get_window().mode = Window.MODE_MAXIMIZED if (true ) else Window.MODE_WINDOWED get_window().mode = Window.MODE_MAXIMIZED if (true ) else Window.MODE_WINDOWED
...@@ -67,7 +67,7 @@ func _input(event): ...@@ -67,7 +67,7 @@ func _input(event):
func saveFileLogs(stringo): func saveFileLogs(stringo):
var path = "res://save.log" var path = "res://save.log"
var file = FileAccess.open(path, FileAccess.READ_WRITE) # Использование FileAccess var file = FileAccess.open(path, FileAccess.READ_WRITE) # Использование FileAccess для чтения/записи
if file == null: if file == null:
print('---=== ошибка открытия файла логов, пересодаём') print('---=== ошибка открытия файла логов, пересодаём')
file = FileAccess.open(path, FileAccess.WRITE) file = FileAccess.open(path, FileAccess.WRITE)
......
...@@ -92,8 +92,11 @@ func _error(was_clean = false): ...@@ -92,8 +92,11 @@ func _error(was_clean = false):
func connect_to_server(): func connect_to_server():
# print('===input WS') # print('===input WS')
var backend_headers = Global.backend_headers
#["Content-Type: application/json"]
backend_headers.append("Referer: " + websocket_url)
socket.supported_protocols = PackedStringArray(["graphql-ws"]) socket.supported_protocols = PackedStringArray(["graphql-ws"])
socket.handshake_headers = PackedStringArray(["Content-Type: application/json", "Referer: " + websocket_url]) socket.handshake_headers = PackedStringArray(backend_headers)
var err = socket.connect_to_url(websocket_url) var err = socket.connect_to_url(websocket_url)
if err != OK: if err != OK:
print("Ошибка соединения = ", err) print("Ошибка соединения = ", err)
......
...@@ -145,8 +145,8 @@ func distingo(horizontalo, event): ...@@ -145,8 +145,8 @@ func distingo(horizontalo, event):
for lbl in control.get_children(): for lbl in control.get_children():
if lbl.name.count('_horizontalo_'): if lbl.name.count('_horizontalo_'):
var str1 = lbl.name var str1 = lbl.name
str1.erase(0,lbl.name.find('_vertikalo_')+11) str1 = str1.erase(0,lbl.name.find('_vertikalo_')+11)
str1.erase(str1.find('_horizontalo_'),len(str1))# удалили окончание str1.erase(str1.find('_horizontalo_'),str1.length())# удалили окончание
var hor = int(str1)-1 var hor = int(str1)-1
if hor == distingo_horizontalo: if hor == distingo_horizontalo:
lbl.add_theme_stylebox_override("normal", stylebox_normal) lbl.add_theme_stylebox_override("normal", stylebox_normal)
......
Поддерживает Markdown
0% или .
You are about to add 0 people to the discussion. Proceed with caution.
Сначала завершите редактирование этого сообщения!
Пожалуйста, зарегистрируйтесь или чтобы прокомментировать