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
查询稳定标识,仅用于诊断和追踪。
package_ids¶
- API:
public - 首次版本:
unreleased
允许返回的 package ID;为空表示不限制。
search_text¶
- API:
public - 首次版本:
unreleased
在 package ID、显示名、版本和 content type 中匹配的大小写无关文本。
required_content_types¶
- API:
public - 首次版本:
unreleased
manifest 必须包含的全部 content type。
required_dependencies¶
- API:
public - 首次版本:
unreleased
manifest 必须声明的全部直接依赖 ID。
required_resource_keys¶
- API:
public - 首次版本:
unreleased
manifest 必须声明的全部资源键。
allowed_safety_kinds¶
- API:
public - 首次版本:
unreleased
允许的安全分类;为空表示不限制。
required_metadata¶
- API:
public - 首次版本:
unreleased
manifest metadata 必须精确匹配的键值。
结构:
required_metadata: Dictionary with exact manifest metadata key/value filters.
include_dependencies¶
- API:
public - 首次版本:
unreleased
是否把直接命中包的传递依赖加入结果。
max_results¶
- API:
public - 首次版本:
unreleased
直接命中包的最大数量;小于等于 0 表示不限制。依赖闭包不计入该限制。
metadata¶
- API:
public - 首次版本:
unreleased
调用方自定义查询元数据;GF 只负责复制和序列化。
结构:
metadata: Dictionary with caller-defined query metadata.
方法¶
matches¶
- API:
public - 首次版本:
unreleased
检查 manifest 是否满足全部非空查询条件。
参数:
| 名称 | 说明 |
|---|---|
manifest |
要检查的内容包 manifest。 |
返回:满足查询条件返回 true。
apply_dict¶
- API:
public - 首次版本:
unreleased
从字典应用查询字段并执行集合归一化。
参数:
| 名称 | 说明 |
|---|---|
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
转换为归一化字典。
返回:查询字典副本。
结构:
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
创建查询深拷贝。
返回:新查询。
from_dict¶
- API:
public - 首次版本:
unreleased
从字典创建查询。
参数:
| 名称 | 说明 |
|---|---|
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.