GFContentPackageUtility¶
API Reference / Extensions / Content Package / 类索引
- 路径:
addons/gf/extensions/content_package/runtime/gf_content_package_utility.gd - 模块:
Extensions / Content Package - 继承:
GFUtility - API:
public - 类别:运行时服务 (
runtime_service) - 首次版本:
4.4.0
内容包发现、目录构建和资源解析注册服务。 维护显式 source root 列表,加载其中的 gf_content_package.json,构建 GFContentPackageCatalog, 并把内容包资源键映射同步到 GFResourceResolverUtility。它不下载内容、不扫描全项目、不决定包启用策略。
成员概览¶
| 类型 | 名称 | 签名 |
|---|---|---|
| 信号 | catalog_rebuilt |
signal catalog_rebuilt(catalog: GFContentPackageCatalog) |
| 方法 | register_source_root |
func register_source_root(root_path: String) -> bool: |
| 方法 | unregister_source_root |
func unregister_source_root(root_path: String) -> bool: |
| 方法 | clear_source_roots |
func clear_source_roots() -> void: |
| 方法 | get_source_roots |
func get_source_roots() -> PackedStringArray: |
| 方法 | get_catalog |
func get_catalog() -> GFContentPackageCatalog: |
| 方法 | discover_manifest_paths |
func discover_manifest_paths(root_path: String = "") -> PackedStringArray: |
| 方法 | load_manifest |
func load_manifest(path: String) -> GFContentPackageManifest: |
| 方法 | rebuild_catalog |
func rebuild_catalog(options: Dictionary = {}) -> Dictionary: |
| 方法 | set_manifests |
func set_manifests( manifests: Array[GFContentPackageManifest], options: Dictionary = {} ) -> Dictionary: |
| 方法 | register_resources |
func register_resources(resolver: GFResourceResolverUtility, options: Dictionary = {}) -> Dictionary: |
| 方法 | get_debug_snapshot |
func get_debug_snapshot() -> Dictionary: |
信号¶
catalog_rebuilt¶
- API:
public
当内容包目录重建后发出。
参数:
| 名称 | 说明 |
|---|---|
catalog |
当前内容包目录。 |
方法¶
register_source_root¶
- API:
public
注册内容包 source root。
参数:
| 名称 | 说明 |
|---|---|
root_path |
res:// 下的内容包根目录。该目录自身或其直接子目录可包含 gf_content_package.json。 |
返回:注册成功返回 true。
unregister_source_root¶
- API:
public
注销内容包 source root。
参数:
| 名称 | 说明 |
|---|---|
root_path |
已注册的 source root。 |
返回:注销成功返回 true。
clear_source_roots¶
- API:
public
清空内容包 source root。
get_source_roots¶
- API:
public
获取内容包 source root 列表。
返回:source root 副本。
get_catalog¶
- API:
public
获取当前内容包目录。
返回:内容包目录。
discover_manifest_paths¶
- API:
public
发现 source root 中的内容包 manifest 路径。
参数:
| 名称 | 说明 |
|---|---|
root_path |
可选 source root;为空时使用全部已注册 source root。 |
返回:manifest 路径列表。
load_manifest¶
- API:
public
从 manifest 路径加载内容包。
参数:
| 名称 | 说明 |
|---|---|
path |
manifest 文件路径。 |
返回:内容包 manifest;加载失败返回 null。
rebuild_catalog¶
- API:
public
从已注册 source root 重建内容包目录。
参数:
| 名称 | 说明 |
|---|---|
options |
校验选项,透传给 GFContentPackageCatalog。 |
返回:GFValidationReportDictionary 兼容报告。
结构:
options: Dictionary,可包含 check_resource_exists: bool。return: GFValidationReportDictionary.finalize_report() 生成的 Dictionary,并包含 package_count、package_ids、ordered_package_ids 和 duplicate_package_ids。
set_manifests¶
- API:
public
func set_manifests( manifests: Array[GFContentPackageManifest], options: Dictionary = {} ) -> Dictionary:
手动替换内容包目录。
参数:
| 名称 | 说明 |
|---|---|
manifests |
内容包 manifest 列表。 |
options |
校验选项,透传给 GFContentPackageCatalog。 |
返回:GFValidationReportDictionary 兼容报告。
结构:
manifests: Array[GFContentPackageManifest],无效项会被忽略或进入诊断。options: Dictionary,可包含 check_resource_exists: bool。return: GFValidationReportDictionary.finalize_report() 生成的 Dictionary,并包含 package_count、package_ids、ordered_package_ids 和 duplicate_package_ids。
register_resources¶
- API:
public
func register_resources(resolver: GFResourceResolverUtility, options: Dictionary = {}) -> Dictionary:
把当前内容包目录同步到资源解析器。
参数:
| 名称 | 说明 |
|---|---|
resolver |
标准资源解析器。 |
options |
注册选项。base_priority 默认为 0;check_resource_exists 默认为 false。 |
返回:GFValidationReportDictionary 兼容报告,并包含 registered_count。
结构:
options: Dictionary,可包含 base_priority: int 和 check_resource_exists: bool。return: GFValidationReportDictionary.finalize_report() 生成的 Dictionary,并包含 registered_count。
get_debug_snapshot¶
- API:
public
获取内容包服务调试快照。
返回:调试快照。
结构:
return: Dictionary,包含 source_roots 和 catalog。