跳转至

GFBlackboardEntry

API Reference / Standard / 类索引

  • 路径:addons/gf/standard/foundation/blackboard/gf_blackboard_entry.gd
  • 模块:Standard
  • 继承:Resource
  • API:public
  • 类别:资源定义 (resource_definition)
  • 首次版本:3.17.0

通用黑板字段声明。 只描述字段键、类型、必填性、空值策略和默认值,不绑定行为树、AI 或具体玩法。

成员概览

类型 名称 签名
枚举 ValueType enum ValueType
属性 key var key: StringName = &""
属性 value_type var value_type: ValueType = ValueType.ANY
属性 required var required: bool = false
属性 allow_null var allow_null: bool = true
属性 default_value var default_value: Variant = null
属性 metadata var metadata: Dictionary = {}
方法 get_key func get_key() -> StringName:
方法 is_value_valid func is_value_valid(value: Variant) -> bool:
方法 coerce_value func coerce_value(value: Variant) -> Variant:
方法 try_coerce_value func try_coerce_value(value: Variant) -> Dictionary:
方法 duplicate_entry func duplicate_entry() -> GFBlackboardEntry:
方法 describe func describe() -> Dictionary:
方法 value_type_to_name static func value_type_to_name(type_id: ValueType) -> String:

枚举

ValueType

  • API:public
enum ValueType { ## 不做类型约束。 ANY, ## 布尔值。 BOOL, ## 整数。 INT, ## 浮点数。 FLOAT, ## 字符串。 STRING, ## StringName。 STRING_NAME, ## Vector2。 VECTOR2, ## Vector2i。 VECTOR2I, ## Vector3。 VECTOR3, ## Vector3i。 VECTOR3I, ## Color。 COLOR, ## Dictionary。 DICTIONARY, ## Array。 ARRAY, ## Object。 OBJECT, }

黑板字段值类型。

属性

key

  • API:public
var key: StringName = &""

字段键。

value_type

  • API:public
var value_type: ValueType = ValueType.ANY

字段值类型。

required

  • API:public
var required: bool = false

是否必须出现在黑板数据中。

allow_null

  • API:public
var allow_null: bool = true

是否允许 null 值。

default_value

  • API:public
var default_value: Variant = null

默认值。GFBlackboardSchema.apply_defaults() 会在缺字段时使用。

结构:

  • default_value: Variant default blackboard value.

metadata

  • API:public
var metadata: Dictionary = {}

可选元数据,供编辑器、调试器或项目工具使用。

结构:

  • metadata: Dictionary metadata for editor, debugger, or project tooling.

方法

get_key

  • API:public
func get_key() -> StringName:

获取稳定字段键。

返回:字段键。

is_value_valid

  • API:public
func is_value_valid(value: Variant) -> bool:

检查输入值是否符合字段声明。

参数:

名称 说明
value 待检查值。

返回:符合声明时返回 true。

结构:

  • value: Variant value to validate.

coerce_value

  • API:public
func coerce_value(value: Variant) -> Variant:

将输入值转换为字段要求的类型。

参数:

名称 说明
value 输入值。

返回:转换后的值。

结构:

  • value: Variant value to coerce.
  • return: Variant coerced value.

try_coerce_value

  • API:public
func try_coerce_value(value: Variant) -> Dictionary:

尝试转换输入值并返回转换报告。

参数:

名称 说明
value 输入值。

返回:包含 ok、value、message 的转换报告。

结构:

  • value: Variant value to coerce.
  • return: Dictionary with ok, value, and message.

duplicate_entry

  • API:public
func duplicate_entry() -> GFBlackboardEntry:

创建同内容拷贝,避免运行时修改污染共享 Resource。

返回:新字段声明。

describe

  • API:public
func describe() -> Dictionary:

导出字段声明摘要。

返回:字段声明字典。

结构:

  • return: Dictionary entry description.

value_type_to_name

  • API:public
static func value_type_to_name(type_id: ValueType) -> String:

将字段类型转换为可读名称。

参数:

名称 说明
type_id 字段类型。

返回:类型名称。