GFDecisionBlackboard¶
API Reference / Decision / 类索引
- 路径:
addons/gf/extensions/decision/runtime/gf_decision_blackboard.gd - 模块:
Decision - 继承:
RefCounted - API:
public - 类别:领域模型 (
domain_model) - 首次版本:
4.3.0
通用决策黑板。 保存一组由项目定义的运行时值,用于 Utility AI、导演系统或其他决策流程读取。 它只管理键值、变更信号和调试快照,不规定任何玩法字段。
成员概览¶
| 类型 | 名称 | 签名 |
|---|---|---|
| 信号 | value_changed |
signal value_changed(key: StringName, old_value: Variant, new_value: Variant) |
| 信号 | value_removed |
signal value_removed(key: StringName, old_value: Variant) |
| 属性 | values |
var values: Dictionary = {} |
| 方法 | set_value |
func set_value(key: StringName, value: Variant) -> void: |
| 方法 | get_value |
func get_value(key: StringName, default_value: Variant = null) -> Variant: |
| 方法 | has_value |
func has_value(key: StringName) -> bool: |
| 方法 | erase_value |
func erase_value(key: StringName) -> bool: |
| 方法 | clear |
func clear() -> void: |
| 方法 | merge |
func merge(source_values: Dictionary, overwrite: bool = true) -> void: |
| 方法 | to_dictionary |
func to_dictionary() -> Dictionary: |
| 方法 | duplicate_blackboard |
func duplicate_blackboard() -> GFDecisionBlackboard: |
| 方法 | get_debug_snapshot |
func get_debug_snapshot() -> Dictionary: |
信号¶
value_changed¶
- API:
public
当黑板值发生变化时发出。
参数:
| 名称 | 说明 |
|---|---|
key |
值键。 |
old_value |
旧值。 |
new_value |
新值。 |
结构:
old_value: 黑板中的任意项目值;之前不存在时为 null。new_value: 黑板中的任意项目值。
value_removed¶
- API:
public
当黑板值被移除时发出。
参数:
| 名称 | 说明 |
|---|---|
key |
值键。 |
old_value |
被移除的旧值。 |
结构:
old_value: 黑板中的任意项目值。
属性¶
values¶
- API:
public
黑板值表。键通常为 StringName,值由项目决定。
结构:
values: Dictionary[StringName, Variant] project-defined decision values.
方法¶
set_value¶
- API:
public
设置黑板值。
参数:
| 名称 | 说明 |
|---|---|
key |
值键。 |
value |
要写入或修改的值。 |
结构:
value: 要写入黑板的任意项目值。
get_value¶
- API:
public
获取黑板值。
参数:
| 名称 | 说明 |
|---|---|
key |
值键。 |
default_value |
缺失时返回的默认值。 |
返回:黑板值或默认值。
结构:
default_value: 黑板缺失时返回的任意默认值。return: 黑板中的项目值,或传入的 default_value。
has_value¶
- API:
public
检查黑板值是否存在。
参数:
| 名称 | 说明 |
|---|---|
key |
值键。 |
返回:存在返回 true。
erase_value¶
- API:
public
移除黑板值。
参数:
| 名称 | 说明 |
|---|---|
key |
值键。 |
返回:移除成功返回 true。
clear¶
- API:
public
清空全部黑板值。
merge¶
- API:
public
合并一批黑板值。
参数:
| 名称 | 说明 |
|---|---|
source_values |
要合并的值表。 |
overwrite |
已存在同名键时是否覆盖。 |
结构:
source_values: Dictionary[StringName, Variant] project-defined decision values.
to_dictionary¶
- API:
public
转换为值表副本。
返回:黑板值表副本。
结构:
return: Dictionary[StringName, Variant] project-defined decision values.
duplicate_blackboard¶
- API:
public
创建黑板副本。
返回:新黑板实例。
get_debug_snapshot¶
- API:
public
获取调试快照。
返回:调试快照字典。
结构:
return: 包含 value_count、keys 和 values 字段的 Dictionary。