From c6dbf9a8128c75e2828c93f765c6071707d88067 Mon Sep 17 00:00:00 2001 From: sasha80 Date: Mon, 11 Sep 2023 09:13:05 +0300 Subject: [PATCH 01/11] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82?= =?UTF-8?q?=D0=BE=D1=80.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/interfer.gd | 12 ++++++------ scripts/threats.gd | 29 +++++++++++++++-------------- 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/scripts/interfer.gd b/scripts/interfer.gd index 3ac2b4de..66786130 100644 --- a/scripts/interfer.gd +++ b/scripts/interfer.gd @@ -45,12 +45,12 @@ class Interfer: names.any(func(vn): if dic.has(vn): set(vn, dic[vn]); return false) -signal interfer_preparing(ecm: Interfer) ## Вызывается при запуске помехи -signal interfer_run(ecm: Interfer) ## Вызывается в момент начала работы помехи -signal interfer_error(ecm: Interfer, msg: String) ## Вызывается при ошибке -signal interfer_update(ecm: Interfer) ## Вызывается при обновлении помехи -signal interfer_new(ecm: Interfer) ## Вызывается при новой помехе -signal interfer_resized(ecms: Dictionary) ## Вызывается при изменении количества сеансов помех +signal interfer_preparing(ecm: Interfer) ## Вызывается в момент запуска помехи. +signal interfer_run(ecm: Interfer) ## Вызывается в момент начала работы помехи. +signal interfer_error(ecm: Interfer, msg: String) ## Вызывается при ошибке. +signal interfer_update(ecm: Interfer) ## Вызывается при обновлении помехи. +signal interfer_new(ecm: Interfer) ## Вызывается при создании новой помехи. +signal interfer_resized(ecms: Dictionary) ## Вызывается при изменении количества сеансов помех. ## Производит приём состояния помех. [param unit] -> [param ecms] diff --git a/scripts/threats.gd b/scripts/threats.gd index 00ac6c15..71349742 100644 --- a/scripts/threats.gd +++ b/scripts/threats.gd @@ -75,19 +75,20 @@ func on_data_capsrpb_received(unit: capsrpb.CapsRpb, threats: Dictionary): var mis = unit.json_dic['mis'] var sz: = threats.size() for dic_th in mis: - if dic_th.has('id'): - var id = int(dic_th['id']) - if threats.has(id): - var th = threats[id] - th.clear_fflags() - th.set_from_dic(dic_th) - th.tick_rx = unit.tick - call_deferred('emit_signal', 'threat_update', th) - else: - var th = Threat.new() - th.set_from_dic(dic_th) - threats[id] = th - th.tick_rx = unit.tick - call_deferred('emit_signal', 'threat_new', th) + if dic_th is Dictionary: + if dic_th.has('id'): + var id = int(dic_th['id']) + if threats.has(id): + var th = threats[id] + th.clear_fflags() + th.set_from_dic(dic_th) + th.tick_rx = unit.tick + call_deferred('emit_signal', 'threat_update', th) + else: + var th = Threat.new() + th.set_from_dic(dic_th) + threats[id] = th + th.tick_rx = unit.tick + call_deferred('emit_signal', 'threat_new', th) if sz != threats.size(): call_deferred('emit_signal', 'threats_resized', threats) From a423a95ade0cff520727953b3ca8ed6a0f432474 Mon Sep 17 00:00:00 2001 From: sasha80 Date: Mon, 11 Sep 2023 09:13:44 +0300 Subject: [PATCH 02/11] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B0.=20=D0=98=D0=BD=D0=B4=D0=B8=D0=BA=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D1=8F=20=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D1=86=D0=B5=D0=BB=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/bip.tscn | 3 +++ scenes/работа.gd | 2 ++ shaders/bip.gdshader | 9 ++++++--- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/scenes/bip.tscn b/scenes/bip.tscn index 18854c9c..71548885 100644 --- a/scenes/bip.tscn +++ b/scenes/bip.tscn @@ -5,6 +5,8 @@ [sub_resource type="ShaderMaterial" id="ShaderMaterial_2dulj"] shader = ExtResource("1_k6vue") shader_parameter/color = Color(1, 0.101961, 0.494118, 1) +shader_parameter/color_up = Color(1, 1, 1, 1) +shader_parameter/tick_update = 0 [sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_tgf76"] @@ -13,6 +15,7 @@ script/source = "extends Sprite2D func set_bip_color(col: Color): material.set('shader_parameter/color', col) func get_bip_color() -> Color: return material.get('shader_parameter/color') +func set_tick_update(tick): material.set('shader_parameter/tick_update', tick) " [node name="bip" type="Sprite2D"] diff --git a/scenes/работа.gd b/scenes/работа.gd index 77673878..8ff0e2ef 100644 --- a/scenes/работа.gd +++ b/scenes/работа.gd @@ -73,6 +73,8 @@ func map_threat_to_bip(th: Threats.Threat, bip: Sprite2D): REPSettings.ThreatParams.radius_outter, REPSettings.ThreatParams.freq_low, REPSettings.ThreatParams.freq_high) + var tick = Time.get_ticks_msec() + bip.set_tick_update(tick) ## Обработчик сигнала обновления цели diff --git a/shaders/bip.gdshader b/shaders/bip.gdshader index a46d779a..56ead0a5 100644 --- a/shaders/bip.gdshader +++ b/shaders/bip.gdshader @@ -3,9 +3,12 @@ shader_type canvas_item; /* Закрашенная окружность */ uniform vec4 color: source_color = vec4(1, 1, 1, 1); -const float ds = 0.01; /* Относительное расстояние на котором выполняется сглаживание краёв */ -const vec2 center = vec2(0.125, 0.125); /* Центр должен быть в (0.5, 0.5), но это не так */ -const float radius = 0.125 - ds * 2.0; /* Радиус должен быть 0.5, но это не так */ +uniform vec4 color_up: source_color = vec4(1, 1, 1, 1); /* Цвет вспышки при обновлении */ +uniform uint tick_update = 0; /* Время последнего обновления, мс */ +const float time_delta = 0.1; /* Время вспышки при обновлении, c */ +const float ds = 0.01; /* Относительное расстояние на котором выполняется сглаживание краёв */ +const vec2 center = vec2(0.125, 0.125); /* Центр должен быть в (0.5, 0.5), но это не так */ +const float radius = 0.125 - ds * 2.0; /* Радиус должен быть 0.5, но это не так */ float smooth_px(float r, float R) From a09ab78fb1a125336c57b1ebbcf5e406b98f7b53 Mon Sep 17 00:00:00 2001 From: sasha80 Date: Mon, 11 Sep 2023 14:41:06 +0300 Subject: [PATCH 03/11] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82?= =?UTF-8?q?=D0=BE=D1=80.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- project.godot | 2 +- scenes/работа.gd | 17 +++++++++++------ scenes/работа.tscn | 7 +++++++ scripts/repnetwork.gd | 14 +++++++------- scripts/repsettings.gd | 7 +------ scripts/threats.gd | 6 +++--- 6 files changed, 30 insertions(+), 23 deletions(-) diff --git a/project.godot b/project.godot index 615b6714..8ceda60d 100644 --- a/project.godot +++ b/project.godot @@ -25,7 +25,7 @@ config/icon="res://data/icon.png" signaller="*res://scripts/signaller.gd" Log="*res://addons/godot-logger/scripts/logger.gd" Tools="*res://scripts/tools.gd" -REPSettings="*res://scripts/repsettings.gd" +repsettings="*res://scripts/repsettings.gd" REPNetwork="*res://scripts/repnetwork.gd" yau07="*res://scripts/yau07.gd" capsrpb="*res://scripts/capsrpb.gd" diff --git a/scenes/работа.gd b/scenes/работа.gd index 8ff0e2ef..48969ec7 100644 --- a/scenes/работа.gd +++ b/scenes/работа.gd @@ -1,3 +1,5 @@ +@tool + extends Panel ## Основной скрипт для режима "Работа" @@ -7,6 +9,9 @@ extends Panel @export var col_red: Color ## Первый цвет для фона @export var drag_scale_band: float ## Масштаб изменения параметра от движения мыши для строба по радиальному размеру @export var drag_scale_width: float ## Масштаб изменения параметра от движения мыши для строба по угловому размеру +@export var freq_high: float ## Верхняя рабочая частота, МГЦ. +@export var freq_low: float ## Нижняя рабочая частота, МГЦ. +@export var radius_center: Vector2 ## Координаты центра диаграммы пеленг-частота @export var radius_internal: float ## Внутренний радиус диаграммы пеленг-частота @export var radius_outter: float ## Внешний радиус диаграммы пеленг-частота @export var strob_max_band: float ## Максимальная ширина строба по углу @@ -68,11 +73,11 @@ func map_threat_to_bip(th: Threats.Threat, bip: Sprite2D): bip.position = Tools.pos_calc( th.freq, th.aoa, - REPSettings.ThreatParams.radius_center, - REPSettings.ThreatParams.radius_inner, - REPSettings.ThreatParams.radius_outter, - REPSettings.ThreatParams.freq_low, - REPSettings.ThreatParams.freq_high) + radius_center, + radius_internal, + radius_outter, + freq_low, + freq_high) var tick = Time.get_ticks_msec() bip.set_tick_update(tick) @@ -158,7 +163,7 @@ func _on_drag_begin(event) -> void: strob_band_begin = $canvas.get_strob_band() -## Обработчик событий вввода. Вызывается godot +## Обработчик событий ввода. Вызывается godot func _input(event) -> void: if not is_visible_in_tree(): return if event is InputEventMouseMotion: diff --git a/scenes/работа.tscn b/scenes/работа.tscn index 58212c2d..65754422 100644 --- a/scenes/работа.tscn +++ b/scenes/работа.tscn @@ -17,6 +17,12 @@ col_grey = Color(0.34902, 0.643137, 0.772549, 0.168627) col_red = Color(1, 0.568627, 0.431373, 0.239216) drag_scale_band = 0.05 drag_scale_width = 0.5 +radius_center = Vector2(560, 560) +time_lost = 5000.0 +freq_low = 200.0 +freq_high = 6000.0 +radius_internal = 200.0 +radius_outter = 550.0 strob_max_band = 15.538 strob_max_width = 90.0 strob_min_band = 0.1 @@ -318,6 +324,7 @@ offset_top = 1118.0 offset_right = 205.0 offset_bottom = 1168.0 text = "Откл." +pressed = true metadata/rfi_name = "" [node name="btn_auto_rfi" parent="." groups=["группа-режим-помехи"] instance=ExtResource("7_2sxkw")] diff --git a/scripts/repnetwork.gd b/scripts/repnetwork.gd index 5af32394..4dc1d3f3 100644 --- a/scripts/repnetwork.gd +++ b/scripts/repnetwork.gd @@ -17,10 +17,10 @@ var logger_page: Node func create_socket(nm) -> Socket: - var addr = REPSettings.UnitProfiles[nm][1] - var port = REPSettings.UnitProfiles[nm][2] - var broad = REPSettings.UnitProfiles[nm][3] - var bind = REPSettings.UnitProfiles[nm][4] + var addr = repsettings.UnitProfiles[nm][1] + var port = repsettings.UnitProfiles[nm][2] + var broad = repsettings.UnitProfiles[nm][3] + var bind = repsettings.UnitProfiles[nm][4] var sock: = Socket.new() sock.set_broadcast_enabled(broad) var rc = Error.OK if not bind else sock.bind(port, addr) @@ -37,12 +37,12 @@ func _ready() -> void: sock_unicast = poll_sockets[0] - for unit_name in REPSettings.UnitProfiles: - var setting = REPSettings.UnitProfiles[unit_name] + for unit_name in repsettings.UnitProfiles: + var setting = repsettings.UnitProfiles[unit_name] var proto = setting[0] if proto in PROTOCOL_TYPES: var unit = PROTOCOL_TYPES[proto].new(unit_name) - var unit_key = REPSettings.get_unit_key(unit_name) + var unit_key = repsettings.get_unit_key(unit_name) units[unit_key] = unit unit.connect('line_changed', Callable(logger_page, 'on_line_changed').bind(unit_key)) unit.connect('command_fail', Callable(logger_page, 'on_command_fail').bind(unit_key)) diff --git a/scripts/repsettings.gd b/scripts/repsettings.gd index 6f4cce8c..1566757b 100644 --- a/scripts/repsettings.gd +++ b/scripts/repsettings.gd @@ -33,12 +33,7 @@ extends Node ## Параметры цели @export var ThreatParams = { - 'radius_center': Vector2(560, 560), ## Координаты центра диаграммы в пикселях для отображения частота-пеленг. - 'time_lost': 5000, ## Время после последнего обновления в мс, через которое цель считается потерянной. - 'freq_low': 200.0, ## Нижняя рабочая частота, МГЦ. - 'freq_high': 6000.0, ## Верхняя рабочая частота, МГЦ. - 'radius_inner': 200, ## Внутренний радиус диаграммы в пикселях для отображения частота-пеленг. - 'radius_outter': 550 ## Наружний радиус диаграммы в пикселях для отображения частота-пеленг. + 'time_lost': 5000 ## Время после последнего обновления в мс, через которое цель считается потерянной. } diff --git a/scripts/threats.gd b/scripts/threats.gd index 71349742..3d1f033f 100644 --- a/scripts/threats.gd +++ b/scripts/threats.gd @@ -45,13 +45,13 @@ signal threats_resized(th: Dictionary) func _ready() -> void: Log.info('Модуль обработки целей готов') var threats = {} ## Список целей. Индекс - <номер цели> - var unit_key = REPSettings.get_unit_key('уарэп-капсрпб-отп') + var unit_key = repsettings.get_unit_key('уарэп-капсрпб-отп') var unit = REPNetwork.units[unit_key] var timer_check_lost: = Timer.new() add_child(timer_check_lost) unit.connect('data_received', Callable(self, 'on_data_capsrpb_received').bind(threats)) - timer_check_lost.connect('timeout', Callable(self, 'on_timer_check_lost').bind(REPSettings.ThreatParams.time_lost, threats)) - timer_check_lost.start(REPSettings.ThreatParams.time_lost / 1000.0) + timer_check_lost.connect('timeout', Callable(self, 'on_timer_check_lost').bind(repsettings.ThreatParams.time_lost, threats)) + timer_check_lost.start(repsettings.ThreatParams.time_lost / 1000.0) ## Периодически удаляет устаревшие цели From 18f1242b41991b56029380eebc2d57a598e9261b Mon Sep 17 00:00:00 2001 From: sasha80 Date: Mon, 11 Sep 2023 14:43:30 +0300 Subject: [PATCH 04/11] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82?= =?UTF-8?q?=D0=BE=D1=80.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/работа.gd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scenes/работа.gd b/scenes/работа.gd index 48969ec7..f8e21786 100644 --- a/scenes/работа.gd +++ b/scenes/работа.gd @@ -18,7 +18,7 @@ extends Panel @export var strob_max_width: float ## Максимальная ширина строба по углу @export var strob_min_band: float ## Минимальная ширина строба по частоте @export var strob_min_width: float ## Минимальная ширина строба по углу -@export var window_0_id: int ## Идетификатор окна. Присваивается godot от 0 до количесва созданных окон +@export var window_0_id: int ## Идетификатор окна. Присваивается godot от 0 до количества созданных окон var drag_button: MouseButton ## Кнопка мыши нажатая при перетаскивании From 74df97187705970313b698c1611c5dddb651ddb9 Mon Sep 17 00:00:00 2001 From: sasha80 Date: Tue, 12 Sep 2023 10:11:30 +0300 Subject: [PATCH 05/11] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B0.=20=D0=A6=D0=B2=D0=B5=D1=82=20=D0=B8=D0=B7?= =?UTF-8?q?=20=D0=B0=D0=BD=D0=B8=D0=BC=D0=B0=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/bip.tscn | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/scenes/bip.tscn b/scenes/bip.tscn index 71548885..66305c67 100644 --- a/scenes/bip.tscn +++ b/scenes/bip.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=5 format=3 uid="uid://nl1vklubr5kr"] +[gd_scene load_steps=4 format=3 uid="uid://nl1vklubr5kr"] [ext_resource type="Shader" path="res://shaders/bip.gdshader" id="1_k6vue"] @@ -10,16 +10,7 @@ shader_parameter/tick_update = 0 [sub_resource type="PlaceholderTexture2D" id="PlaceholderTexture2D_tgf76"] -[sub_resource type="GDScript" id="GDScript_4xy3s"] -script/source = "extends Sprite2D - -func set_bip_color(col: Color): material.set('shader_parameter/color', col) -func get_bip_color() -> Color: return material.get('shader_parameter/color') -func set_tick_update(tick): material.set('shader_parameter/tick_update', tick) -" - [node name="bip" type="Sprite2D"] material = SubResource("ShaderMaterial_2dulj") scale = Vector2(10, 10) texture = SubResource("PlaceholderTexture2D_tgf76") -script = SubResource("GDScript_4xy3s") From aba542629b1c5d86ab3616d0a2d97f65e9bb6459 Mon Sep 17 00:00:00 2001 From: sasha80 Date: Tue, 12 Sep 2023 10:14:21 +0300 Subject: [PATCH 06/11] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82?= =?UTF-8?q?=D0=BE=D1=80.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/работа.gd | 6 ++---- scenes/работа.tscn | 5 ++--- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/scenes/работа.gd b/scenes/работа.gd index f8e21786..1f2de376 100644 --- a/scenes/работа.gd +++ b/scenes/работа.gd @@ -4,7 +4,7 @@ extends Panel ## Основной скрипт для режима "Работа" -@export var Bip: PackedScene ## Сцена точки индикатора излучения цели +@export var Bip: PackedScene ## Индикатор излучения цели @export var col_grey: Color ## Второй цвет для фона @export var col_red: Color ## Первый цвет для фона @export var drag_scale_band: float ## Масштаб изменения параметра от движения мыши для строба по радиальному размеру @@ -26,7 +26,6 @@ var drag_fsm: DragFSM = DragFSM.IDLE ## Текущее состояние пе var drag_pos_begin: Vector2 ## Точка начала перетаскивания var shift_pressed: bool ## Кнопка SHIFT нажата var strob_band_begin: float ## Ширина строба в момент начала перетаскивания -var strob_center: Vector2 ## Центр антенн var strob_dir_begin: float ## Направление антенны в момент начала перетаскивания var strob_width_begin: float ## Ширина строба по углу в момент начала перетаскивания @@ -57,7 +56,6 @@ func on_threats_resized(threats: Dictionary): $count_all_pad/count_all.text = '% func _ready(): $btn_strobe.button_connect('pressed', Callable(self, 'on_button_strobe_pressed')) $btn_off.set_pressed(true) - strob_center = $canvas.get_strob_center() on_button_strobe_pressed() drag_fsm = DragFSM.OFF var nodes: = get_tree().get_nodes_in_group('группа-режим-помехи') @@ -134,7 +132,7 @@ func get_strob_band(pos: Vector2, prev: float) -> float: ## Устанавливает центр строба по частоте и направлению func set_strob(pos: Vector2) -> void: - var radp: Vector2 = Tools.map_dec_to_rad(strob_center, pos) + var radp: Vector2 = Tools.map_dec_to_rad(radius_center, pos) if radp.y < $canvas.get_radius_outter(): $canvas.set_strob_dir(radp.x) $canvas.set_strob_radius(radp.y) diff --git a/scenes/работа.tscn b/scenes/работа.tscn index 65754422..1c90e7fc 100644 --- a/scenes/работа.tscn +++ b/scenes/работа.tscn @@ -17,10 +17,9 @@ col_grey = Color(0.34902, 0.643137, 0.772549, 0.168627) col_red = Color(1, 0.568627, 0.431373, 0.239216) drag_scale_band = 0.05 drag_scale_width = 0.5 -radius_center = Vector2(560, 560) -time_lost = 5000.0 -freq_low = 200.0 freq_high = 6000.0 +freq_low = 200.0 +radius_center = Vector2(560, 560) radius_internal = 200.0 radius_outter = 550.0 strob_max_band = 15.538 From 6596a2d3894f0441c0a8c88846d8b3ebe4ebb89d Mon Sep 17 00:00:00 2001 From: sasha80 Date: Tue, 12 Sep 2023 10:15:36 +0300 Subject: [PATCH 07/11] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B0.=20=D0=A2=D0=B0=D0=B1=D0=BB=D0=B8=D1=86?= =?UTF-8?q?=D0=B0=20=D0=B1=D0=B5=D0=B7=20=D0=B7=D0=B0=D0=B3=D0=BE=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/scroll-params.gd | 5 +---- table/table.gd | 11 +++++------ 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/scenes/scroll-params.gd b/scenes/scroll-params.gd index 48bf8717..3a4809dd 100644 --- a/scenes/scroll-params.gd +++ b/scenes/scroll-params.gd @@ -30,10 +30,6 @@ func on_threat_selected(th): func init_table(): - $table.set_header(TABLE_HEADER) - $table.set_header_text(TABLE_HEADERS_TEXT) - $table.set_columns_min_size(TABLE_COLUMN_SIZE) - $table.pin_header(self, get_parent()) $table.connect('row_pressed', Callable(self, 'on_row_pressed')) for i in TABLE_PARAMS.size(): $table.add_row(TABLE_ROW) for p in TABLE_PARAMS.values(): @@ -41,6 +37,7 @@ func init_table(): $table.set_node_alligment(0, p[0], HORIZONTAL_ALIGNMENT_LEFT) $table.set_node_editable(0, p[0], false) $table.set_node_editable(1, p[0], false) + $table.set_columns_min_size(TABLE_COLUMN_SIZE) $table.set_meta('id', 0) diff --git a/table/table.gd b/table/table.gd index bfd022db..56743d55 100644 --- a/table/table.gd +++ b/table/table.gd @@ -176,10 +176,12 @@ func get_key_indexes(key: String) -> Array: ## func set_columns_min_size(sizes: Array) -> void: + assert((columns == 1) or (columns == sizes.size())) + columns = sizes.size() var rows_count: = get_rows_count() - for i_row in rows_count: - set_nodes_min_size(i_row, sizes) - set_nodes_min_size(0, sizes, HEAD_KEY_FORMAT) + for i_row in rows_count: set_nodes_min_size(i_row, sizes) + if nodes.has(HEAD_KEY_FORMAT % [0, 0]): + set_nodes_min_size(0, sizes, HEAD_KEY_FORMAT) ## @@ -320,12 +322,9 @@ func add_row(row_types: Array) -> void: var node_type = row_types[i_col] var node = node_type.instantiate() assert(node.name == node.name, 'ошибка: экземпляр не имеет поля \"name\"') - var head = nodes[HEAD_KEY_FORMAT % [0, i_col]] var node_key: String = NODE_KEY_FORMAT % [i_row, i_col] node.name = node_key add_child(node) - node.custom_minimum_size.x = head.custom_minimum_size.x - node.set_deferred('size.x', head.size.x) nodes[node_key] = node var conn = Callable(self, '_on_focus_entered').bind(node) node.connect('focus_entered', conn) From 0f8b966927df4f5ddafbc12e7a998340f2e7897a Mon Sep 17 00:00:00 2001 From: sasha80 Date: Tue, 12 Sep 2023 10:16:08 +0300 Subject: [PATCH 08/11] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B0.=20=D0=A6=D0=B2=D0=B5=D1=82=20=D0=B8=D0=B7?= =?UTF-8?q?=20=D0=B0=D0=BD=D0=B8=D0=BC=D0=B0=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/работа.gd | 2 -- 1 file changed, 2 deletions(-) diff --git a/scenes/работа.gd b/scenes/работа.gd index 1f2de376..e2f62ca4 100644 --- a/scenes/работа.gd +++ b/scenes/работа.gd @@ -76,8 +76,6 @@ func map_threat_to_bip(th: Threats.Threat, bip: Sprite2D): radius_outter, freq_low, freq_high) - var tick = Time.get_ticks_msec() - bip.set_tick_update(tick) ## Обработчик сигнала обновления цели From 2fd23e2d6c368228b478f83a7d6c8a4d4e39348b Mon Sep 17 00:00:00 2001 From: sasha80 Date: Tue, 19 Sep 2023 09:10:57 +0300 Subject: [PATCH 09/11] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D0=B0.=20=D0=A2=D0=B0=D0=B1=D0=BB=D0=B8=D1=86?= =?UTF-8?q?=D0=B0=20=D0=B1=D0=B5=D0=B7=20=D0=B7=D0=B0=D0=B3=D0=BE=D0=BB?= =?UTF-8?q?=D0=BE=D0=B2=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/scroll-params.gd | 1 - scenes/работа.tscn | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/scenes/scroll-params.gd b/scenes/scroll-params.gd index 3a4809dd..2650df8a 100644 --- a/scenes/scroll-params.gd +++ b/scenes/scroll-params.gd @@ -30,7 +30,6 @@ func on_threat_selected(th): func init_table(): - $table.connect('row_pressed', Callable(self, 'on_row_pressed')) for i in TABLE_PARAMS.size(): $table.add_row(TABLE_ROW) for p in TABLE_PARAMS.values(): $table.set_node_text(0, p[0], p[1]) diff --git a/scenes/работа.tscn b/scenes/работа.tscn index 1c90e7fc..9fb159c6 100644 --- a/scenes/работа.tscn +++ b/scenes/работа.tscn @@ -96,7 +96,7 @@ vertical_alignment = 1 [node name="scroll" type="ScrollContainer" parent="grd_side/frm_params"] layout_mode = 0 offset_left = 4.0 -offset_top = 54.0 +offset_top = 27.0 offset_right = 476.0 offset_bottom = 282.0 script = ExtResource("6_tict0") From ffa9cb89ab0a7950a930c92f43dfdf044e75e499 Mon Sep 17 00:00:00 2001 From: sasha80 Date: Tue, 19 Sep 2023 09:11:12 +0300 Subject: [PATCH 10/11] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82?= =?UTF-8?q?=D0=BE=D1=80.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/scroll-params.gd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scenes/scroll-params.gd b/scenes/scroll-params.gd index 2650df8a..eb7f9fba 100644 --- a/scenes/scroll-params.gd +++ b/scenes/scroll-params.gd @@ -42,7 +42,7 @@ func init_table(): func _ready() -> void: signaller.connect('threat_selected', Callable(self, 'on_threat_selected')) - Threats.connect('threat_update', Callable(self, 'on_threat_update')) + Threats.connect('threat_update', Callable(self, 'on_threat_update')) call_deferred('init_table') From e681ee60572382a2358a6d529bafe834fda24eab Mon Sep 17 00:00:00 2001 From: sasha80 Date: Tue, 19 Sep 2023 09:11:42 +0300 Subject: [PATCH 11/11] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5.=20=D0=94=D0=BB=D1=8F=20=D1=81?= =?UTF-8?q?=D0=B5=D1=82=D0=B5=D0=B2=D0=BE=D0=B3=D0=BE=20=D1=81=D1=82=D0=B5?= =?UTF-8?q?=D0=BA=D0=B0=20"nm-callback"=20=D0=BF=D1=80=D0=BE=D1=86=D0=B5?= =?UTF-8?q?=D1=81=D1=81=D0=BE=D1=80=D0=BE=D0=B2=20STM?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/yau07.gd | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/yau07.gd b/scripts/yau07.gd index aec65d17..b299b701 100644 --- a/scripts/yau07.gd +++ b/scripts/yau07.gd @@ -93,6 +93,7 @@ class YaU07: var ports_count = ports_data.size() tx_len = ports_count * 2 + 8 + tx_data.encode_u16(0, cmd_retry) # Исправление для сетевого стека "nm-callback" процессоров STM tx_data.encode_u16(2, cmd_num_tx) if cmd_code == CmdCode.WRITE_ISA: