GFAssetAttributionTools¶
API Reference / Asset Metadata / 类索引
- 路径:
addons/gf/extensions/asset_metadata/runtime/gf_asset_attribution_tools.gd - 模块:
Asset Metadata - 继承:
RefCounted - API:
public - 类别:运行时服务 (
runtime_service) - 首次版本:
8.0.0
资产授权与署名元数据工具。 提供纯数据归一、路径覆盖检查和通知文本格式化,便于项目导入管线、CI 或 Credits 页面复用同一套资产归因字段约定。它不内置许可证模板、不下载外部数据, 也不替项目做法律判断。
成员概览¶
| 类型 | 名称 | 签名 |
|---|---|---|
| 方法 | normalize_attribution |
static func normalize_attribution(data: Dictionary, options: Dictionary = {}) -> Dictionary: |
| 方法 | resolve_attribution |
static func resolve_attribution(path: String, entries: Array, options: Dictionary = {}) -> Dictionary: |
| 方法 | build_attribution_report |
static func build_attribution_report( entries: Array, resource_paths: PackedStringArray = PackedStringArray(), options: Dictionary = {} ) -> Dictionary: |
| 方法 | format_notice_text |
static func format_notice_text(report: Dictionary, options: Dictionary = {}) -> String: |
方法¶
normalize_attribution¶
- API:
public - 首次版本:
8.0.0
将资产归因字典归一为稳定字段。
参数:
| 名称 | 说明 |
|---|---|
data |
输入归因字典;也可传入 GFAssetMetadataRecord.to_dict() 形状的字典。 |
options |
可选项,支持 attribution_key。 |
返回:归一化归因条目。
结构:
data: Dictionary,可包含 path/resource_path/source_path、license_id/license、title/name、creator/author、source_url/source、notice、copyright、metadata 或 metadata.attribution。options: Dictionary,可包含 attribution_key 字段;默认为 attribution。return: Dictionary,包含 path、license_id、title、creator、source_url、notice、copyright、metadata、subject_path 与 subject_kind 字段。
resolve_attribution¶
- API:
public - 首次版本:
8.0.0
static func resolve_attribution(path: String, entries: Array, options: Dictionary = {}) -> Dictionary:
按资源路径解析最匹配的归因条目。 精确路径优先;inherit_from_parent 为 true 时,父目录归因可覆盖其子资源。
参数:
| 名称 | 说明 |
|---|---|
path |
要解析的资源路径。 |
entries |
归因条目数组;每项可为 Dictionary 或 GFAssetMetadataRecord。 |
options |
可选项,支持 inherit_from_parent 与 attribution_key。 |
返回:解析结果。
结构:
entries: Array,每项可为归因 Dictionary、GFAssetMetadataRecord 或 GFAssetMetadataRecord.to_dict() 形状字典。options: Dictionary,可包含 inherit_from_parent 和 attribution_key。return: Dictionary,包含 found、path、attribution_path、inherited、inherited_from 和 entry 字段。
build_attribution_report¶
- API:
public - 首次版本:
8.0.0
static func build_attribution_report( entries: Array, resource_paths: PackedStringArray = PackedStringArray(), options: Dictionary = {} ) -> Dictionary:
构建资产归因覆盖报告。 传入 resource_paths 时,报告会检查每个资源路径是否能命中归因条目。 缺少 path、重复 path、缺少 license_id 或未覆盖资源路径都会作为错误报告。
参数:
| 名称 | 说明 |
|---|---|
entries |
归因条目数组;每项可为 Dictionary 或 GFAssetMetadataRecord。 |
resource_paths |
需要被归因覆盖的资源路径。 |
options |
可选项,支持 require_license_id、inherit_from_parent 与 attribution_key。 |
返回:GFValidationReport 兼容字典,并附带 entries、covered_paths、uncovered_paths 和 license_ids。
结构:
entries: Array,每项可为归因 Dictionary、GFAssetMetadataRecord 或 GFAssetMetadataRecord.to_dict() 形状字典。resource_paths: PackedStringArray,通常来自资源扫描或导入计划。options: Dictionary,可包含 require_license_id、inherit_from_parent 和 attribution_key。return: Dictionary,包含 ok、healthy、summary、entries、entry_count、resource_path_count、covered_paths、uncovered_paths、license_ids 等字段。
format_notice_text¶
- API:
public - 首次版本:
8.0.0
将归因报告格式化为稳定的通知文本。 该方法只输出条目摘要,不注入许可证全文;项目应自行决定最终 Credits 或 NOTICE 格式。
参数:
| 名称 | 说明 |
|---|---|
report |
build_attribution_report() 返回的报告字典。 |
options |
可选项,支持 title 与 include_paths。 |
返回:通知文本。
结构:
report: Dictionary,包含 entries 字段的归因报告。options: Dictionary,可包含 title 和 include_paths。