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
字段名。建议和导表列名保持一致。
value_type¶
- API:
public
字段值类型。
required¶
- API:
public
是否必须出现在记录中。
allow_null¶
- API:
public
是否允许 null 值。
default_value¶
- API:
public
字段缺省值。GFConfigTableSchema.coerce_record() 会在缺字段时使用。
结构:
default_value: Variant,字段缺失时复制到记录中的默认值。
validation_rules¶
- API:
public
字段级校验规则。只作用于当前字段值,不绑定具体业务枚举。
结构:
validation_rules: Array,包含作用于当前字段的 GFConfigValidationRule 资源。
metadata¶
- API:
public
可选元数据,供编辑器、导入器或项目层扩展使用。
结构:
metadata: Dictionary,保存编辑器、导入器或项目层附加到当前字段的元数据。
方法¶
get_field_key¶
- API:
public
获取稳定字段键。
返回:字段名。
coerce_value¶
- API:
public
将输入值转换为当前列要求的类型。
参数:
| 名称 | 说明 |
|---|---|
value |
输入值。 |
返回:转换后的值。
结构:
value: Variant,按 value_type 转换的输入字段值。return: Variant,按当前 value_type 转换后的值。
try_coerce_value¶
- API:
public
尝试将输入值转换为当前列要求的类型,并返回转换报告。
参数:
| 名称 | 说明 |
|---|---|
value |
输入值。 |
返回:包含 ok、value 与 message 的转换报告。
结构:
value: Variant,按 value_type 尝试转换的输入字段值。return: Dictionary,包含 ok、value 和 message 字段。
is_value_valid¶
- API:
public
检查输入值是否符合当前列声明。
参数:
| 名称 | 说明 |
|---|---|
value |
待检查值。 |
返回:符合声明时返回 true。
结构:
value: Variant,按 value_type 与 allow_null 检查的字段值。
duplicate_column¶
- API:
public
创建同内容拷贝,避免运行时修改污染共享 Resource。
返回:新字段声明。
describe¶
- API:
public
导出字段声明摘要。
返回:字段声明字典。
结构:
return: Dictionary,包含 field_name、value_type、required、allow_null、default_value、validation_rules 和 metadata。