跳转至

GFContentPackageQuery

API Reference / Extensions / Content Package / 类索引

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

内容包目录的确定性通用查询条件。 查询只描述 package、content type、依赖、资源键、安全分类和 metadata 约束, 不解释项目业务语义。所有非空条件采用 AND 语义,列表条件要求 manifest 包含全部值。

成员概览

类型 名称 签名
属性 query_id var query_id: StringName = &""
属性 package_ids var package_ids: PackedStringArray = PackedStringArray()
属性 search_text var search_text: String = ""
属性 required_content_types var required_content_types: PackedStringArray = PackedStringArray()
属性 required_dependencies var required_dependencies: PackedStringArray = PackedStringArray()
属性 required_resource_keys var required_resource_keys: PackedStringArray = PackedStringArray()
属性 allowed_safety_kinds var allowed_safety_kinds: PackedStringArray = PackedStringArray()
属性 required_metadata var required_metadata: Dictionary = {}
属性 include_dependencies var include_dependencies: bool = false
属性 max_results var max_results: int = 0
属性 metadata var metadata: Dictionary = {}
方法 matches func matches(manifest: GFContentPackageManifest) -> bool:
方法 apply_dict func apply_dict(data: Dictionary) -> void:
方法 to_dict func to_dict() -> Dictionary:
方法 duplicate_query func duplicate_query() -> GFContentPackageQuery:
方法 from_dict static func from_dict(data: Dictionary) -> GFContentPackageQuery:

属性

query_id

  • API:public
  • 首次版本:unreleased
var query_id: StringName = &""

查询稳定标识,仅用于诊断和追踪。

package_ids

  • API:public
  • 首次版本:unreleased
var package_ids: PackedStringArray = PackedStringArray()

允许返回的 package ID;为空表示不限制。

search_text

  • API:public
  • 首次版本:unreleased
var search_text: String = ""

在 package ID、显示名、版本和 content type 中匹配的大小写无关文本。

required_content_types

  • API:public
  • 首次版本:unreleased
var required_content_types: PackedStringArray = PackedStringArray()

manifest 必须包含的全部 content type。

required_dependencies

  • API:public
  • 首次版本:unreleased
var required_dependencies: PackedStringArray = PackedStringArray()

manifest 必须声明的全部直接依赖 ID。

required_resource_keys

  • API:public
  • 首次版本:unreleased
var required_resource_keys: PackedStringArray = PackedStringArray()

manifest 必须声明的全部资源键。

allowed_safety_kinds

  • API:public
  • 首次版本:unreleased
var allowed_safety_kinds: PackedStringArray = PackedStringArray()

允许的安全分类;为空表示不限制。

required_metadata

  • API:public
  • 首次版本:unreleased
var required_metadata: Dictionary = {}

manifest metadata 必须精确匹配的键值。

结构:

  • required_metadata: Dictionary with exact manifest metadata key/value filters.

include_dependencies

  • API:public
  • 首次版本:unreleased
var include_dependencies: bool = false

是否把直接命中包的传递依赖加入结果。

max_results

  • API:public
  • 首次版本:unreleased
var max_results: int = 0

直接命中包的最大数量;小于等于 0 表示不限制。依赖闭包不计入该限制。

metadata

  • API:public
  • 首次版本:unreleased
var metadata: Dictionary = {}

调用方自定义查询元数据;GF 只负责复制和序列化。

结构:

  • metadata: Dictionary with caller-defined query metadata.

方法

matches

  • API:public
  • 首次版本:unreleased
func matches(manifest: GFContentPackageManifest) -> bool:

检查 manifest 是否满足全部非空查询条件。

参数:

名称 说明
manifest 要检查的内容包 manifest。

返回:满足查询条件返回 true。

apply_dict

  • API:public
  • 首次版本:unreleased
func apply_dict(data: Dictionary) -> void:

从字典应用查询字段并执行集合归一化。

参数:

名称 说明
data 查询字典。

结构:

  • data: Dictionary with query_id, package_ids, search_text, required_content_types, required_dependencies, required_resource_keys, allowed_safety_kinds, required_metadata, include_dependencies, max_results, and metadata.

to_dict

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

转换为归一化字典。

返回:查询字典副本。

结构:

  • return: Dictionary with query_id, package_ids, search_text, required_content_types, required_dependencies, required_resource_keys, allowed_safety_kinds, required_metadata, include_dependencies, max_results, and metadata.

duplicate_query

  • API:public
  • 首次版本:unreleased
func duplicate_query() -> GFContentPackageQuery:

创建查询深拷贝。

返回:新查询。

from_dict

  • API:public
  • 首次版本:unreleased
static func from_dict(data: Dictionary) -> GFContentPackageQuery:

从字典创建查询。

参数:

名称 说明
data 查询字典。

返回:新查询。

结构:

  • data: Dictionary with query_id, package_ids, search_text, required_content_types, required_dependencies, required_resource_keys, allowed_safety_kinds, required_metadata, include_dependencies, max_results, and metadata.