diff --git a/scenes/pribor-uf/uf-ctl.gd b/scenes/pribor-uf/uf-ctl.gd index c9c48e64..c44a0d97 100644 --- a/scenes/pribor-uf/uf-ctl.gd +++ b/scenes/pribor-uf/uf-ctl.gd @@ -37,16 +37,16 @@ func on_data_received(yau: Object) -> void: '''Обработка полученных данных от УФ''' var new_ems_status = control_ems(yau.status) var status_changed = false - + # Обновляем только ключи КЭМС/ЭМС, сохраняя 'УФ-онлайн' for key in ['КЭМС-Б1', 'ЭМС-Б1', 'ЭМС-Б2', 'ИП220-27Б']: var old_value = uf_status.get(key, false) var new_value = new_ems_status.get(key, false) - + if old_value != new_value: uf_status[key] = new_value status_changed = true - + if status_changed: update_serviceability() #endregion @@ -64,7 +64,7 @@ func is_operational() -> bool: func update_serviceability() -> void: '''Обновление общего статуса сервисабельности''' var new_serviceability: int = STATE_VAL.GOOD - + # Проверяем онлайн-статус if uf_status.get('УФ-онлайн', false) == false: new_serviceability = STATE_VAL.NONE @@ -84,7 +84,7 @@ static func control_ems(status: Array) -> Dictionary: var status_dic: Dictionary = {} if status.is_empty() or status.size() < 3: return status_dic - + status_dic['КЭМС-Б1'] = bool((status[StatusIndex.SOCKETS] >> 0) & 1) and bool((status[StatusIndex.SOCKETS] >> 3) & 1) status_dic['ЭМС-Б1'] = bool((status[StatusIndex.SOCKETS] >> 1) & 1) and bool((status[StatusIndex.SOCKETS] >> 4) & 1) status_dic['ЭМС-Б2'] = bool((status[StatusIndex.SOCKETS] >> 2) & 1) and bool((status[StatusIndex.SOCKETS] >> 5) & 1) diff --git a/scenes/tabs-switch/lbl_ready.gd b/scenes/tabs-switch/lbl_ready.gd index 00eadda9..e924e135 100644 --- a/scenes/tabs-switch/lbl_ready.gd +++ b/scenes/tabs-switch/lbl_ready.gd @@ -31,7 +31,6 @@ class DeviceObserver: func update_control_results(results: Dictionary) -> bool: var changed := false - last_results = results.duplicate() if results.get('is_over_control', false): # Контроль завершен - проверяем все результаты @@ -162,8 +161,7 @@ func _recalculate_overall_state() -> void: func _update_display() -> void: - var config: Dictionary = STATUS_CONFIG[overall_prd_state].duplicate() - + var config: Dictionary text = config.text modulate = config.color add_theme_color_override("font_color", config.font_color) @@ -258,7 +256,7 @@ func get_device_status(device_name: String) -> Dictionary: "online": observer.status[DEVICE_STATUS.ONLINE], "operational": observer.status[DEVICE_STATUS.STATUS], "control_complete": observer.status[DEVICE_STATUS.CONTROL], - "last_results": observer.last_results.duplicate(), + "last_results": observer.last_results, "status_uf": status_uf } return {} diff --git a/scenes/работа/работа.gd b/scenes/работа/работа.gd index 3566bb98..195378f2 100644 --- a/scenes/работа/работа.gd +++ b/scenes/работа/работа.gd @@ -559,7 +559,7 @@ func set_fs_color(ecms): func update_fs_colors(): - var fs_colors = $canvas.fs_default_colors.duplicate() + var fs_colors = $canvas.fs_default_colors for key in fs_active.keys(): fs_colors[key] = color_ecm for key in fs_emit.keys(): diff --git a/scripts/pribor-prd.gd b/scripts/pribor-prd.gd index bc86e8ab..1097ddde 100644 --- a/scripts/pribor-prd.gd +++ b/scripts/pribor-prd.gd @@ -1140,7 +1140,7 @@ static func _create_fs_mapping(s_name: String) -> Dictionary: ## Получение статуса ФС static func on_fs_state(packet_type_7: Dictionary, fs_mapping: Dictionary, fs_results: Dictionary, fs_rules_config: Array) -> Dictionary: - var updated_results := fs_results.duplicate() + var updated_results := fs_results for fs_num in packet_type_7: if not (fs_num in fs_mapping and fs_mapping[fs_num]['condition']): continue @@ -1209,19 +1209,19 @@ static func power_um_ukp(status: PackedByteArray, litera: int, pwr_result: Array static func update_max_power_values(power_data: Array, max_power_values: Array) -> Array: if power_data.size() != 6: if max_power_values.is_empty(): - max_power_values = power_data.duplicate() + max_power_values = power_data elif power_data[0] > max_power_values[0]: - max_power_values = power_data.duplicate() + max_power_values = power_data return max_power_values if max_power_values.is_empty(): - max_power_values = power_data.duplicate() + max_power_values = power_data else: for i in 6: if power_data[i] > max_power_values[i]: max_power_values[i] = power_data[i] - return max_power_values.duplicate() + return max_power_values ## Подготовка принятых данных по контролю для передачи в сцену @@ -1322,7 +1322,7 @@ func _deep_copy_power_structure() -> Dictionary: for litera in power_for_litera: copy[litera] = {} for ray_type in power_for_litera[litera]: - copy[litera][ray_type] = power_for_litera[litera][ray_type].duplicate() + copy[litera][ray_type] = power_for_litera[litera][ray_type] return copy ## Восстановление состояний по умолчанию