Merge remote-tracking branch 'sasha80/master' into workflows

# Conflicts:
#	scripts/prd-ctl-config.gd
This commit is contained in:
Maxim
2026-02-02 10:25:45 +03:00
24 changed files with 311 additions and 209 deletions

View File

@@ -1,8 +1,8 @@
class_name PRDConfigManager
extends RefCounted
## Менеджер конфигурации для системы контроля ПРД
## Загружает и управляет настройками из JSON-конфигурации
## Менеджер конфигурации для системы контроля ПРД.
## Загружает и управляет настройками из JSON-конфигурации.
#region CONSTANTS
const CONFIG_PATH = 'user://config/setting-prd-control.json'
@@ -11,18 +11,18 @@ const CONFIG_VERSION = '1.0.0' # Версия конфигурации - уве
#endregion
#region PRIVATE_VARIABLES
var _config_data: Dictionary # Все данные конфигурации
var _device_constants: Dictionary # Константы устройств
var _base_configs: Dictionary # Базовые конфигурации
var _device_configs: Dictionary # Конфигурации устройств
var _data_indices: Dictionary # Индексы данных
var _fs_keys: Dictionary # Ключи ФС (функциональных систем)
var _temperature_constants: Dictionary # Константы температуры
var _ems_input_bits_config: Dictionary # Конфигурация битов ввода ЭМС
var _fs_rules: Array # Правила ФС
var _config_data: Dictionary ## Все данные конфигурации
var _device_constants: Dictionary ## Константы устройств
var _base_configs: Dictionary ## Базовые конфигурации
var _device_configs: Dictionary ## Конфигурации устройств
var _data_indices: Dictionary ## Индексы данных
var _fs_keys: Dictionary ## Ключи ФС (функциональных систем)
var _temperature_constants: Dictionary ## Константы температуры
var _ems_input_bits_config: Dictionary ## Конфигурация битов ввода ЭМС
var _fs_rules: Array ## Правила ФС
var _is_loaded: bool = false # Флаг успешной загрузки
var _current_version: String = '' # Текущая версия загруженной конфигурации
var _is_loaded: bool = false ## Флаг успешной загрузки
var _current_version: String ## Текущая версия загруженной конфигурации
#endregion
#region INITIALIZATION
@@ -215,7 +215,6 @@ func _update_config() -> bool:
if FileAccess.file_exists(CONFIG_PATH):
var backup_path = CONFIG_PATH + '.backup_v' + _current_version
DirAccess.copy_absolute(CONFIG_PATH, backup_path)
print('Создана резервная копия: ', backup_path)
# Копируем актуальную конфигурацию
return _copy_default_config()
@@ -224,7 +223,7 @@ func _update_config() -> bool:
## Копирует дефолтную конфигурацию в user директорию
func _copy_default_config() -> bool:
if not FileAccess.file_exists(DEFAULT_CONFIG_PATH):
push_error('Дефолтный файл конфигурации не найден: ' + DEFAULT_CONFIG_PATH)
push_error('Файл конфигурации не найден: ' + DEFAULT_CONFIG_PATH)
return false
var src := FileAccess.open(DEFAULT_CONFIG_PATH, FileAccess.READ)