跳转至

GFConfigTableColumn

API Reference / Standard / 类索引

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

导表字段声明。 只描述字段名、值类型、必填性、空值策略和默认值,不绑定任何具体业务表。

成员概览

类型 名称 签名
枚举 ValueType enum ValueType
属性 field_name var field_name: 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
属性 validation_rules var validation_rules: Array[GFConfigValidationRule] = []
属性 metadata var metadata: Dictionary = {}
方法 get_field_key func get_field_key() -> StringName:
方法 coerce_value func coerce_value(value: Variant) -> Variant:
方法 try_coerce_value func try_coerce_value(value: Variant) -> Dictionary:
方法 is_value_valid func is_value_valid(value: Variant) -> bool:
方法 duplicate_column func duplicate_column() -> GFConfigTableColumn:
方法 describe func describe() -> Dictionary:

枚举

ValueType

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

导表字段值类型,用于导入与运行时校验。

属性

field_name

  • API:public
var field_name: 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

字段缺省值。GFConfigTableSchema.coerce_record() 会在缺字段时使用。

结构:

  • default_value: Variant,字段缺失时复制到记录中的默认值。

validation_rules

  • API:public
var validation_rules: Array[GFConfigValidationRule] = []

字段级校验规则。只作用于当前字段值,不绑定具体业务枚举。

结构:

  • validation_rules: Array,包含作用于当前字段的 GFConfigValidationRule 资源。

metadata

  • API:public
var metadata: Dictionary = {}

可选元数据,供编辑器、导入器或项目层扩展使用。

结构:

  • metadata: Dictionary,保存编辑器、导入器或项目层附加到当前字段的元数据。

方法

get_field_key

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

获取稳定字段键。

返回:字段名。

coerce_value

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

将输入值转换为当前列要求的类型。

参数:

名称 说明
value 输入值。

返回:转换后的值。

结构:

  • value: Variant,按 value_type 转换的输入字段值。
  • return: Variant,按当前 value_type 转换后的值。

try_coerce_value

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

尝试将输入值转换为当前列要求的类型,并返回转换报告。

参数:

名称 说明
value 输入值。

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

结构:

  • value: Variant,按 value_type 尝试转换的输入字段值。
  • return: Dictionary,包含 ok、value 和 message 字段。

is_value_valid

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

检查输入值是否符合当前列声明。

参数:

名称 说明
value 待检查值。

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

结构:

  • value: Variant,按 value_type 与 allow_null 检查的字段值。

duplicate_column

  • API:public
func duplicate_column() -> GFConfigTableColumn:

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

返回:新字段声明。

describe

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

导出字段声明摘要。

返回:字段声明字典。

结构:

  • return: Dictionary,包含 field_name、value_type、required、allow_null、default_value、validation_rules 和 metadata。