GFSignalBridge¶
API Reference / Standard / 类索引
- 路径:
addons/gf/standard/utilities/signals/bridge/gf_signal_bridge.gd - 模块:
Standard - 继承:
Resource - API:
public - 类别:资源定义 (
resource_definition) - 首次版本:
3.17.0
声明式信号到 Callable 的桥接资源。 桥接只描述信号来源、目标方法、参数重排和常量参数。它不修改场景结构、 不解释信号业务含义,也不要求调用方使用特定 UI 或状态机。
成员概览¶
| 类型 | 名称 | 签名 |
|---|---|---|
| 属性 | bridge_id |
var bridge_id: StringName = &"" |
| 属性 | enabled |
var enabled: bool = true |
| 属性 | source |
var source: GFSignalSourceRef = GFSignalSourceRef.new() |
| 属性 | target |
var target: GFCallableTargetRef = GFCallableTargetRef.new() |
| 属性 | argument_indices |
var argument_indices: PackedInt32Array = PackedInt32Array() |
| 属性 | constant_args |
var constant_args: Array = [] |
| 属性 | append_context |
var append_context: bool = false |
| 属性 | one_shot |
var one_shot: bool = false |
| 属性 | connect_flags |
var connect_flags: int = 0 |
| 属性 | metadata |
var metadata: Dictionary = {} |
| 方法 | connect_bridge |
func connect_bridge( root: Node, owner: Object = null, signal_utility: GFSignalUtility = null ) -> GFSignalBridgeBinding: |
| 方法 | invoke |
func invoke(root: Node, signal_args: Array = []) -> Dictionary: |
| 方法 | build_callable_args |
func build_callable_args(signal_args: Array = []) -> Array: |
| 方法 | get_validation_report |
func get_validation_report(root: Node) -> Dictionary: |
| 方法 | to_dictionary |
func to_dictionary() -> Dictionary: |
属性¶
bridge_id¶
- API:
public
桥接 ID,便于调试和项目侧索引。
enabled¶
- API:
public
是否启用该桥接。
source¶
- API:
public
信号来源引用。
target¶
- API:
public
调用目标引用。
argument_indices¶
- API:
public
要从原始信号参数中抽取的索引。为空时透传全部信号参数。
constant_args¶
- API:
public
追加到桥接参数末尾的常量参数。
结构:
constant_args: Array,追加在选中信号参数后的固定参数。
append_context¶
- API:
public
是否把桥接上下文字典追加到参数末尾。
one_shot¶
- API:
public
是否只触发一次。
connect_flags¶
- API:
public
Godot 信号连接标记。
metadata¶
- API:
public
项目自定义元数据。框架不解释该字段。
结构:
metadata: Dictionary,关联到信号桥的项目侧元数据。
方法¶
connect_bridge¶
- API:
public
func connect_bridge( root: Node, owner: Object = null, signal_utility: GFSignalUtility = null ) -> GFSignalBridgeBinding:
连接桥接。
参数:
| 名称 | 说明 |
|---|---|
root |
路径解析根节点。 |
owner |
可选连接拥有者。 |
signal_utility |
可选 GFSignalUtility;为空时创建独立连接。 |
返回:运行中的桥接绑定;失败时返回 null。
invoke¶
- API:
public
直接执行桥接调用。
参数:
| 名称 | 说明 |
|---|---|
root |
路径解析根节点。 |
signal_args |
原始信号参数。 |
返回:结构化调用结果。
结构:
signal_args: Array,来源信号发出的原始参数。return: Dictionary,包含 ok、reason、value、bridge_id 和 args。
build_callable_args¶
- API:
public
构建目标 Callable 参数。
参数:
| 名称 | 说明 |
|---|---|
signal_args |
原始信号参数。 |
返回:映射后的参数。
结构:
signal_args: Array,来源信号发出的原始参数。return: Array,传给目标 Callable 且位于 target.default_args 之前的参数。
get_validation_report¶
- API:
public
获取校验报告。
参数:
| 名称 | 说明 |
|---|---|
root |
路径解析根节点。 |
返回:兼容 GFValidationReportDictionary 的报告字典。
结构:
return: GFValidationReportDictionary 兼容 Dictionary,包含 subject、bridge_id、issues、counts、summary 和 next_action。
to_dictionary¶
- API:
public
转换为调试字典。
返回:桥接快照。
结构:
return: Dictionary,包含 bridge_id、enabled、source、target、argument_indices、constant_args、append_context、one_shot 和 metadata。