// Copyright (c) 2025-2026 GeWuYou // SPDX-License-Identifier: Apache-2.0 using GFramework.Game.Config; namespace GFramework.Godot.Config; /// /// 描述 Godot YAML 配置加载器的初始化约定。 /// public sealed class GodotYamlConfigLoaderOptions { /// /// 获取或设置配置源根目录。 /// 默认值为 res://,表示从项目资源路径读取 YAML 与 schema 文本。 /// public string SourceRootPath { get; init; } = "res://"; /// /// 获取或设置运行时缓存根目录。 /// 当 在当前环境下无法直接映射为普通文件系统目录时, /// 加载器会先把所需文本资产复制到这里,再交给底层 。 /// public string RuntimeCacheRootPath { get; init; } = "user://config_cache"; /// /// 获取或设置本次启动会访问到的配置表来源描述。 /// Godot 导出态无法假设任意文本目录都可被枚举,因此调用方应显式提供参与本轮加载的配置目录与 schema 文件。 /// public IReadOnlyCollection TableSources { get; init; } = Array.Empty(); /// /// 获取或设置用于配置底层 的回调。 /// 调用方通常应在这里调用生成器产出的 RegisterAllGeneratedConfigTables(), /// 或显式注册当前场景所需的手写表定义。 /// public Action? ConfigureLoader { get; init; } }