Проверка и копирование/создание "config/setting_prd_control.json"

This commit is contained in:
lepshiy
2025-11-17 09:30:51 +03:00
parent 06197096bd
commit 0670bf4b09

View File

@@ -2,6 +2,7 @@ class_name TestPRD
extends Node
# Константы
const CONFIG_PATH = "user://config/setting_prd_control.json"
const DEFAULT_CONFIG_PATH = "res://config/setting_prd_control.json"
const RAY_m5: String = "RAY_m5"
const RAY_5: String = "RAY_5"
@@ -109,12 +110,29 @@ func _get_ray_key(machine_state: int) -> String:
return _ray_state_mapping.get(machine_state, "")
func _ensure_config_exists() -> bool:
DirAccess.make_dir_recursive_absolute("user://config")
if FileAccess.file_exists(CONFIG_PATH):
return true
if not FileAccess.file_exists(DEFAULT_CONFIG_PATH):
return false
var src := FileAccess.open(DEFAULT_CONFIG_PATH, FileAccess.READ)
var dst := FileAccess.open(CONFIG_PATH, FileAccess.WRITE)
if src == null or dst == null:
return false
dst.store_string(src.get_as_text())
src.close()
dst.close()
return true
func _load_configuration() -> void:
if not _ensure_config_exists():
return
var config_file = FileAccess.open(CONFIG_PATH, FileAccess.READ)
if config_file:
var json_text = config_file.get_as_text()
config_file.close()
var json = JSON.new()
var parse_result = json.parse(json_text)
if parse_result == OK: