From 2919b0174f898600c8e7f59d1d3f6d1a2e7ea570 Mon Sep 17 00:00:00 2001 From: sasha80 Date: Wed, 14 Jan 2026 14:00:35 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D0=BE?= =?UTF-8?q?=D1=80.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/diagram/diagram.gd | 40 ++++++++++++----------------- scenes/pribor-prd-k/pribor-prd-k.gd | 2 +- 2 files changed, 17 insertions(+), 25 deletions(-) diff --git a/scenes/diagram/diagram.gd b/scenes/diagram/diagram.gd index 63db951a..ab7590ee 100644 --- a/scenes/diagram/diagram.gd +++ b/scenes/diagram/diagram.gd @@ -1,26 +1,22 @@ class_name Diagram extends ColorRect -const NUM_OF_RANGE = 7 -const NUM_OF_DIRECTIONS = 4 -const color0_default: Color = Color(0.38, 0.47, 0.51, 1.0) -const color1_default: Color = Color(0.39, 0.44, 0.50, 1.0) -var color0: Color = color0_default -var color1: Color = color1_default - -var fs_default_colors: PackedColorArray ## Цвета по умолчанию для блоков ФС -var image: Image +const ANTS_COUNT: = 28 +const ANT_COLOR: = Color(0.38, 0.47, 0.51, 1.0) +@export var ant_color: Color = ANT_COLOR @export var SecZap: PackedScene @export var inner_radius_0: = 0.36 ## Внутренний радиус диаграммы в режиме РТО @export var inner_radius_1: = 0.855 ## Внутренний радиус диаграммы в обзора +var fs_default_colors: PackedColorArray ## Цвета по умолчанию для блоков ФС + func _ready() -> void: - image = Image.create(NUM_OF_RANGE * NUM_OF_DIRECTIONS, 1, false, Image.FORMAT_RGBA8) signaller.connect('map_mode_changed', Callable(self, 'set_view_mode')) ProjectSettings.connect('settings_changed', _on_settings_changed) _on_settings_changed() - set_def_colors() + _init_def_colors() + set_band_colors(fs_default_colors) func sv(val: float) -> float: return val / ($строб.scale.x / 2.0) * 0.125 @@ -52,9 +48,10 @@ func get_strob_width() -> float: return $строб.get_instance_shader_pa ## Выставляет цвета для секторов func set_band_colors(val: PackedColorArray): + var image: = Image.create(val.size(), 1, false, Image.FORMAT_RGBA8) for x in val.size(): image.set_pixel(x, 0, val[x]) - var tex = ImageTexture.create_from_image(image) + var tex: = ImageTexture.create_from_image(image) material.set('shader_parameter/sec_colors', tex) @@ -100,7 +97,7 @@ func set_seczap(id: int, szv: Vector4): func clear_all_seczap(): for child in get_children(): - if child.name.begins_with("SECZAP"): + if child.name.begins_with('SECZAP'): remove_child(child) child.queue_free() @@ -116,17 +113,12 @@ func set_view_mode(val: int): func _on_settings_changed(): - color0 = ProjectSettings.get_setting('application/interfer/default_color0', color0_default) - color1 = ProjectSettings.get_setting('application/interfer/default_color1', color1_default) - color0 *= Color(1.0, 1.0, 1.0, 0.0) - color1 *= Color(1.0, 1.0, 1.0, 0.0) + ant_color = ProjectSettings.get_setting('application/interfer/ant_color', ANT_COLOR) + ant_color *= Color(1.0, 1.0, 1.0, 0.0) ## Закрашивание по умолчанию блоков ФС цветами из настроек. -func set_def_colors(): - var col_arr: PackedColorArray = [color0, color1] - for i in NUM_OF_RANGE: - for j in NUM_OF_DIRECTIONS: - fs_default_colors.append(col_arr[i & 1]) - i += 1 - set_band_colors(fs_default_colors) +func _init_def_colors(): + fs_default_colors.clear() + for i in ANTS_COUNT: + fs_default_colors.append(ant_color) diff --git a/scenes/pribor-prd-k/pribor-prd-k.gd b/scenes/pribor-prd-k/pribor-prd-k.gd index e28fbbe9..e59e3bcf 100644 --- a/scenes/pribor-prd-k/pribor-prd-k.gd +++ b/scenes/pribor-prd-k/pribor-prd-k.gd @@ -138,7 +138,7 @@ static func on_control_result(for_result_dic: Dictionary) -> void: if block_ip_config_k.has(meta_ip) and block_kasseta_y5_prd_config_k.ug and block_kasseta_y5_prd_config_k.yau07: power_supply.state = STATE_VAL.GOOD if block_ip_config_k[meta_ip][1] else STATE_VAL.ERROR else: - power_supply.state = STATE_VAL.NONE + power_supply.state = STATE_VAL.NONE # Проверяем состояние после установки if power_supply.state == STATE_VAL.ERROR: all_y5_good = false