GFPlatformCapabilitySet¶
API Reference / Standard / 类索引
- 路径:
addons/gf/standard/foundation/platform/gf_platform_capability_set.gd - 模块:
Standard - 继承:
Resource - API:
public - 类别:资源定义 (
resource_definition) - 首次版本:
8.0.0
平台能力集合。 用纯数据描述某个运行平台或外部 adapter 暴露的能力及其限制。GF 不内置 具体平台表,调用方应使用稳定的业务无关能力 ID。
成员概览¶
| 类型 | 名称 | 签名 |
|---|---|---|
| 属性 | platform_id |
var platform_id: StringName = &"" |
| 属性 | adapter_id |
var adapter_id: StringName = &"" |
| 属性 | capabilities |
var capabilities: PackedStringArray = PackedStringArray() |
| 属性 | limits |
var limits: Dictionary = {} |
| 属性 | metadata |
var metadata: Dictionary = {} |
| 方法 | configure |
func configure( p_platform_id: StringName, p_capabilities: PackedStringArray = PackedStringArray(), p_metadata: Dictionary = {}, p_adapter_id: StringName = &"" ) -> GFPlatformCapabilitySet: |
| 方法 | clear |
func clear() -> void: |
| 方法 | add_capability |
func add_capability(capability_id: StringName, capability_limits: Dictionary = {}) -> bool: |
| 方法 | remove_capability |
func remove_capability(capability_id: StringName) -> bool: |
| 方法 | has_capability |
func has_capability(capability_id: StringName) -> bool: |
| 方法 | has_all |
func has_all(required_capabilities: PackedStringArray) -> bool: |
| 方法 | has_any |
func has_any(candidate_capabilities: PackedStringArray) -> bool: |
| 方法 | set_limit |
func set_limit(capability_id: StringName, key: StringName, value: Variant) -> bool: |
| 方法 | get_limit |
func get_limit(capability_id: StringName, key: StringName, default_value: Variant = null) -> Variant: |
| 方法 | get_capability_limits |
func get_capability_limits(capability_id: StringName) -> Dictionary: |
| 方法 | merge_from |
func merge_from(other: GFPlatformCapabilitySet, overwrite_existing: bool = true) -> GFPlatformCapabilitySet: |
| 方法 | to_dict |
func to_dict() -> Dictionary: |
| 方法 | apply_dict |
func apply_dict(data: Dictionary) -> void: |
| 方法 | duplicate_set |
func duplicate_set() -> GFPlatformCapabilitySet: |
| 方法 | from_dict |
static func from_dict(data: Dictionary) -> GFPlatformCapabilitySet: |
属性¶
platform_id¶
- API:
public - 首次版本:
8.0.0
平台标识。
adapter_id¶
- API:
public - 首次版本:
8.0.0
Adapter 标识。
capabilities¶
- API:
public - 首次版本:
8.0.0
能力 ID 列表。
limits¶
- API:
public - 首次版本:
8.0.0
能力限制表。
结构:
limits: Dictionary[String, Dictionary],key 为 capability_id。
metadata¶
- API:
public - 首次版本:
8.0.0
调用方元数据。
结构:
metadata: Dictionary caller-defined metadata.
方法¶
configure¶
- API:
public - 首次版本:
8.0.0
func configure( p_platform_id: StringName, p_capabilities: PackedStringArray = PackedStringArray(), p_metadata: Dictionary = {}, p_adapter_id: StringName = &"" ) -> GFPlatformCapabilitySet:
配置能力集合。
参数:
| 名称 | 说明 |
|---|---|
p_platform_id |
平台标识。 |
p_capabilities |
能力 ID 列表。 |
p_metadata |
调用方元数据。 |
p_adapter_id |
Adapter 标识。 |
返回:当前能力集合。
结构:
p_metadata: Dictionary caller-defined metadata.
clear¶
- API:
public - 首次版本:
8.0.0
清空能力集合。
add_capability¶
- API:
public - 首次版本:
8.0.0
添加能力。
参数:
| 名称 | 说明 |
|---|---|
capability_id |
能力 ID。 |
capability_limits |
能力限制字段。 |
返回:成功添加或已存在时返回 true。
结构:
capability_limits: Dictionary capability limits.
remove_capability¶
- API:
public - 首次版本:
8.0.0
移除能力。
参数:
| 名称 | 说明 |
|---|---|
capability_id |
能力 ID。 |
返回:找到并移除时返回 true。
has_capability¶
- API:
public - 首次版本:
8.0.0
检查能力是否存在。
参数:
| 名称 | 说明 |
|---|---|
capability_id |
能力 ID。 |
返回:存在返回 true。
has_all¶
- API:
public - 首次版本:
8.0.0
检查是否包含全部能力。
参数:
| 名称 | 说明 |
|---|---|
required_capabilities |
需要的能力 ID 列表。 |
返回:全部存在返回 true;空列表返回 true。
has_any¶
- API:
public - 首次版本:
8.0.0
检查是否包含任一能力。
参数:
| 名称 | 说明 |
|---|---|
candidate_capabilities |
候选能力 ID 列表。 |
返回:任一存在返回 true;空列表返回 false。
set_limit¶
- API:
public - 首次版本:
8.0.0
设置能力限制字段。
参数:
| 名称 | 说明 |
|---|---|
capability_id |
能力 ID。 |
key |
限制字段名。 |
value |
限制字段值。 |
返回:写入成功返回 true。
结构:
value: Caller-defined limit value.
get_limit¶
- API:
public - 首次版本:
8.0.0
func get_limit(capability_id: StringName, key: StringName, default_value: Variant = null) -> Variant:
读取能力限制字段。
参数:
| 名称 | 说明 |
|---|---|
capability_id |
能力 ID。 |
key |
限制字段名。 |
default_value |
缺失时返回的默认值。 |
返回:限制字段值。
结构:
default_value: Caller-defined default value.return: Caller-defined limit value.
get_capability_limits¶
- API:
public - 首次版本:
8.0.0
读取能力限制字典。
参数:
| 名称 | 说明 |
|---|---|
capability_id |
能力 ID。 |
返回:能力限制字典副本。
结构:
return: Dictionary capability limits.
merge_from¶
- API:
public - 首次版本:
8.0.0
func merge_from(other: GFPlatformCapabilitySet, overwrite_existing: bool = true) -> GFPlatformCapabilitySet:
合并另一个能力集合。
参数:
| 名称 | 说明 |
|---|---|
other |
另一个能力集合。 |
overwrite_existing |
是否覆盖已有限制和元数据字段。 |
返回:当前能力集合。
to_dict¶
- API:
public - 首次版本:
8.0.0
转换为字典。
返回:能力集合字典。
结构:
return: Dictionary with platform_id, adapter_id, capabilities, limits, and metadata.
apply_dict¶
- API:
public - 首次版本:
8.0.0
从字典应用能力集合字段。
参数:
| 名称 | 说明 |
|---|---|
data |
能力集合字典。 |
结构:
data: Dictionary with platform_id, adapter_id, capabilities, limits, and metadata.
duplicate_set¶
- API:
public - 首次版本:
8.0.0
创建能力集合深拷贝。
返回:新能力集合。
from_dict¶
- API:
public - 首次版本:
8.0.0
从字典创建能力集合。
参数:
| 名称 | 说明 |
|---|---|
data |
能力集合字典。 |
返回:新能力集合。
结构:
data: Dictionary with platform_id, adapter_id, capabilities, limits, and metadata.