跳转至

GFContentPackageQueryResult

API Reference / Extensions / Content Package / 类索引

  • 路径:addons/gf/extensions/content_package/runtime/gf_content_package_query_result.gd
  • 模块:Extensions / Content Package
  • 继承:RefCounted
  • API:public
  • 类别:值对象 (value_object)
  • 首次版本:unreleased

内容包查询的不可变结果快照。 结果区分直接命中与依赖闭包,并保留隔离的 manifest 和验证报告, 调用方不需要从空数组推断查询失败或无匹配。

成员概览

类型 名称 签名
常量 STATUS_COMPLETED const STATUS_COMPLETED: StringName = &"completed"
常量 STATUS_INVALID_QUERY const STATUS_INVALID_QUERY: StringName = &"invalid_query"
常量 STATUS_INVALID_CATALOG const STATUS_INVALID_CATALOG: StringName = &"invalid_catalog"
方法 is_successful func is_successful() -> bool:
方法 get_status func get_status() -> StringName:
方法 get_query_id func get_query_id() -> StringName:
方法 get_direct_package_ids func get_direct_package_ids() -> PackedStringArray:
方法 get_package_ids func get_package_ids() -> PackedStringArray:
方法 get_manifest func get_manifest(package_id: StringName) -> GFContentPackageManifest:
方法 get_manifests func get_manifests() -> Array[GFContentPackageManifest]:
方法 get_report func get_report() -> Dictionary:
方法 to_dict func to_dict() -> Dictionary:

常量

STATUS_COMPLETED

  • API:public
  • 首次版本:unreleased
const STATUS_COMPLETED: StringName = &"completed"

查询成功完成。

STATUS_INVALID_QUERY

  • API:public
  • 首次版本:unreleased
const STATUS_INVALID_QUERY: StringName = &"invalid_query"

查询对象为空或无效。

STATUS_INVALID_CATALOG

  • API:public
  • 首次版本:unreleased
const STATUS_INVALID_CATALOG: StringName = &"invalid_catalog"

内容包目录依赖图或 manifest 无效。

方法

is_successful

  • API:public
  • 首次版本:unreleased
func is_successful() -> bool:

检查查询是否成功完成。

返回:查询成功返回 true;零匹配仍属于成功。

get_status

  • API:public
  • 首次版本:unreleased
func get_status() -> StringName:

获取稳定终态状态。

返回:STATUS_* 常量之一。

get_query_id

  • API:public
  • 首次版本:unreleased
func get_query_id() -> StringName:

获取查询 ID。

返回:查询稳定 ID。

get_direct_package_ids

  • API:public
  • 首次版本:unreleased
func get_direct_package_ids() -> PackedStringArray:

获取不含自动依赖扩展的直接命中 package ID。

返回:dependency-first 排序的 ID 副本。

get_package_ids

  • API:public
  • 首次版本:unreleased
func get_package_ids() -> PackedStringArray:

获取最终 package ID,包括请求的依赖闭包。

返回:dependency-first 排序的 ID 副本。

get_manifest

  • API:public
  • 首次版本:unreleased
func get_manifest(package_id: StringName) -> GFContentPackageManifest:

获取一个命中 manifest 的隔离副本。

参数:

名称 说明
package_id 内容包 ID。

返回:manifest 深拷贝;未命中返回 null。

get_manifests

  • API:public
  • 首次版本:unreleased
func get_manifests() -> Array[GFContentPackageManifest]:

获取全部命中 manifest 的隔离副本。

返回:与 get_package_ids() 同序的 manifest 数组。

get_report

  • API:public
  • 首次版本:unreleased
func get_report() -> Dictionary:

获取验证报告副本。

返回:GFValidationReportDictionary 兼容字典。

结构:

  • return: GFValidationReportDictionary-compatible Dictionary with query_id, status, direct_package_ids, and package_ids.

to_dict

  • API:public
  • 首次版本:unreleased
func to_dict() -> Dictionary:

转换为 JSON-safe 结果摘要。

返回:不包含 Resource 对象的结果字典。

结构:

  • return: Dictionary with successful, status, query_id, direct_package_ids, package_ids, manifests, and report.