GFSaveProfile¶
API Reference / Save / 类索引
- 路径:
addons/gf/extensions/save/profile/gf_save_profile.gd - 模块:
Save - 继承:
Resource - API:
public - 类别:资源定义 (
resource_definition) - 首次版本:
unreleased
多 section 存档的项目级声明。 Profile 从 provider 列表派生唯一文档 schema,避免项目同时维护重复的 section 版本清单。运行时数据仍由 provider 持有,Profile 不解释业务字段。
成员概览¶
| 类型 | 名称 | 签名 |
|---|---|---|
| 常量 | UNKNOWN_SECTION_REJECT |
const UNKNOWN_SECTION_REJECT: StringName = &"reject" |
| 常量 | UNKNOWN_SECTION_PRESERVE |
const UNKNOWN_SECTION_PRESERVE: StringName = &"preserve" |
| 常量 | UNKNOWN_SECTION_DROP |
const UNKNOWN_SECTION_DROP: StringName = &"drop" |
| 属性 | profile_id |
var profile_id: StringName = &"" |
| 属性 | schema_id |
var schema_id: StringName = &"" |
| 属性 | file_name |
var file_name: String = "" |
| 属性 | schema_version |
var schema_version: int = 1 |
| 属性 | providers |
var providers: Array[GFSaveSectionProvider] = [] |
| 属性 | recovery_policy |
var recovery_policy: GFSaveRecoveryPolicy = GFSaveRecoveryPolicy.new() |
| 属性 | save_enabled |
var save_enabled: bool = true |
| 属性 | load_enabled |
var load_enabled: bool = true |
| 属性 | unknown_section_policy |
var unknown_section_policy: StringName = UNKNOWN_SECTION_REJECT |
| 方法 | validate_profile |
func validate_profile() -> Dictionary: |
| 方法 | build_schema |
func build_schema() -> GFSaveDocumentSchema: |
| 方法 | get_effective_schema_id |
func get_effective_schema_id() -> StringName: |
| 方法 | get_provider |
func get_provider(section_id: StringName) -> GFSaveSectionProvider: |
| 方法 | get_providers |
func get_providers() -> Array[GFSaveSectionProvider]: |
常量¶
UNKNOWN_SECTION_REJECT¶
- API:
public - 首次版本:
unreleased
拒绝当前 Profile 未声明的 section。
UNKNOWN_SECTION_PRESERVE¶
- API:
public - 首次版本:
unreleased
读取时接受未知 section,并在后续保存中原样保留。
UNKNOWN_SECTION_DROP¶
- API:
public - 首次版本:
unreleased
读取时接受未知 section,并在后续保存中显式丢弃。
属性¶
profile_id¶
- API:
public - 首次版本:
unreleased
稳定运行时 Profile ID。
schema_id¶
- API:
public - 首次版本:
unreleased
稳定文档 schema ID;为空时使用 profile_id。 将它与运行时 ID 分离后,同一文档定义可用于多个槽位或存储目标。
file_name¶
- API:
public - 首次版本:
unreleased
GFStorageUtility 管理的相对文件名。
schema_version¶
- API:
public - 首次版本:
unreleased
当前文档 schema 版本。
providers¶
- API:
public - 首次版本:
unreleased
拥有各 section 的 provider,顺序决定采集与应用顺序。
recovery_policy¶
- API:
public - 首次版本:
unreleased
缺失、损坏和临时 IO 失败的显式政策。
save_enabled¶
- API:
public - 首次版本:
unreleased
Profile 是否接受保存和 flush 请求。
load_enabled¶
- API:
public - 首次版本:
unreleased
Profile 是否接受读取请求。
unknown_section_policy¶
- API:
public - 首次版本:
unreleased
未声明 section 的处理政策。 默认拒绝,避免一次读取后再保存时静默删除未知数据。
方法¶
validate_profile¶
- API:
public - 首次版本:
unreleased
校验 profile、恢复政策和全部 provider。
返回:结构化校验报告。
结构:
return: GFValidationReportDictionary-compatible report with issues, counts, summary, and next_actions.
build_schema¶
- API:
public - 首次版本:
unreleased
从当前 provider 清单派生文档 schema。
返回:当前文档 schema;profile 无效时仍返回可诊断对象。
get_effective_schema_id¶
- API:
public - 首次版本:
unreleased
获取写入文档使用的 schema ID。
返回:schema_id 非空时返回它,否则返回 profile_id。
get_provider¶
- API:
public - 首次版本:
unreleased
获取指定 section 的唯一 provider。
参数:
| 名称 | 说明 |
|---|---|
section_id |
目标 section ID。 |
返回:匹配 provider;不存在时返回 null。
get_providers¶
- API:
public - 首次版本:
unreleased
获取 provider 引用的隔离数组。
返回:按声明顺序排列的 provider。