From 9f3f4439b5b75e90a9d53248f0dd2d8601e7c0e1 Mon Sep 17 00:00:00 2001 From: sasha80 Date: Thu, 22 May 2025 14:19:58 +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/настройки/настройки.gd | 13 +++++++++---- scripts/settings.gd | 14 ++++++++++---- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/scenes/настройки/настройки.gd b/scenes/настройки/настройки.gd index 4d897cc..2a0b2ac 100644 --- a/scenes/настройки/настройки.gd +++ b/scenes/настройки/настройки.gd @@ -130,8 +130,9 @@ func parse_cmd_line_args(settings_data: Dictionary): ## Загружает настройки из файла func load_settings(settings_data: Dictionary): - var file = FileAccess.open(settings.settings_file, FileAccess.READ) - var abs_path = ProjectSettings.globalize_path(settings.settings_file,) + var settings_file = settings.get_settings_file_path() + var file = FileAccess.open(settings_file, FileAccess.READ) + var abs_path = ProjectSettings.globalize_path(settings_file) if file: var read = file.get_as_text() file.close() @@ -240,8 +241,12 @@ func _on_btn_save_settings_pressed(): if len(children): var child = children[0] json_data[parameter] = child.is_pressed() - var file = FileAccess.open(settings.settings_file, FileAccess.WRITE) - var abs_path = ProjectSettings.globalize_path(settings.settings_file) + else: + var row = $scroll_set/table.get_row(i) + json_data[parameter] = row[1].text + var settings_file = settings.get_settings_file_path() + var file = FileAccess.open(settings_file, FileAccess.WRITE) + var abs_path = ProjectSettings.globalize_path(settings_file) if not file: log.error('Не удалось открыть файл для записи \"%s\"' % abs_path) return diff --git a/scripts/settings.gd b/scripts/settings.gd index 0853dd8..3c7b4cb 100644 --- a/scripts/settings.gd +++ b/scripts/settings.gd @@ -1,9 +1,7 @@ @tool -class_name rep_settings extends Node +class_name uarep_settings extends Node -## Параметры. - -var settings_file = ProjectSettings.get_setting('application/config/settings_path', 'user://settings.json') # Путь к файлу с настройками +## Настройки программы var settings_program: Dictionary @@ -57,6 +55,7 @@ const UM_MAX: = 55.0 func _ready() -> void: if Engine.is_editor_hint(): return + var settings_file = settings.get_settings_file_path() var abs_path = ProjectSettings.globalize_path(settings_file) log.info('Путь к файлу настроек: \"%s\"' % abs_path) var file = FileAccess.open(settings_file, FileAccess.READ) @@ -103,6 +102,13 @@ func _ready() -> void: log.info('Не удалось прочитать значение \"%s\" из файла настроек, будет использовано значение по умолчанию' % key) +## Возвращает полный путь к файлу с настройками +func get_settings_file_path(): + return ProjectSettings.get_setting( + 'application/config/settings_path', + 'user://settings.json') + + ## Возвращает ключ устройства. func get_unit_key(unit_name: String) -> Array: var item = UnitProfiles[unit_name]