跳转至

GFNetworkContractField

API Reference / Network / 类索引

  • 路径:addons/gf/extensions/network/contracts/gf_network_contract_field.gd
  • 模块:Network
  • 继承:Resource
  • API:public
  • 类别:资源定义 (resource_definition)
  • 首次版本:3.17.0

网络契约中的单个 payload 字段。 字段只描述名称、值类型、必填性和默认值,用于生成器、校验器或项目工具, 不规定消息含义、权限或同步策略。

成员概览

类型 名称 签名
枚举 ValueType enum ValueType
属性 field_name var field_name: StringName = &""
属性 display_name var display_name: String = ""
属性 value_type var value_type: ValueType = ValueType.VARIANT
属性 required var required: bool = true
属性 allow_null var allow_null: bool = false
属性 default_value var default_value: Variant = null
属性 class_name_hint var class_name_hint: StringName = &""
属性 metadata var metadata: Dictionary = {}
方法 get_field_name func get_field_name() -> StringName:
方法 get_display_name func get_display_name() -> String:
方法 get_default_value func get_default_value() -> Variant:
方法 normalize_value func normalize_value(value: Variant) -> Variant:
方法 validate_definition func validate_definition() -> Dictionary:
方法 validate_value func validate_value(value: Variant) -> Dictionary:
方法 describe func describe() -> Dictionary:

枚举

ValueType

  • API:public
enum ValueType { ## 任意 Variant。 VARIANT, ## 布尔值。 BOOL, ## 整数。 INT, ## 浮点数。 FLOAT, ## 字符串。 STRING, ## StringName。 STRING_NAME, ## Vector2。 VECTOR2, ## Vector3。 VECTOR3, ## Vector2i。 VECTOR2I, ## Vector3i。 VECTOR3I, ## Color。 COLOR, ## Dictionary。 DICTIONARY, ## Array。 ARRAY, ## NodePath。 NODE_PATH, ## Object 或 Resource。 OBJECT, }

字段值类型。

属性

field_name

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

字段稳定名称。

display_name

  • API:public
var display_name: String = ""

编辑器展示名称。

value_type

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

字段值类型。

required

  • API:public
var required: bool = true

是否为必填字段。

allow_null

  • API:public
var allow_null: bool = false

是否允许显式 null 值。

default_value

  • API:public
var default_value: Variant = null

可选默认值。生成器会尽量把可表达的默认值写入生成函数签名。

结构:

  • default_value: Variant,字段默认值;建议使用与 value_type 匹配的可复制值。

class_name_hint

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

Object / Resource 字段的类名提示,仅用于工具校验。

metadata

  • API:public
var metadata: Dictionary = {}

项目自定义元数据。框架不解释该字段。

结构:

  • metadata: Dictionary,保存项目自定义字段元数据。

方法

get_field_name

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

获取字段名称。

返回:字段名称。

get_display_name

  • API:public
func get_display_name() -> String:

获取展示名称。

返回:展示名称。

get_default_value

  • API:public
func get_default_value() -> Variant:

获取默认值副本。

返回:默认值。

结构:

  • return: Variant,default_value 的深拷贝或原始标量值。

normalize_value

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

归一化字段值。

参数:

名称 说明
value 输入值。

返回:归一化后的值。

结构:

  • value: Variant,待归一化字段值。
  • return: Variant,字段默认值或输入值的安全副本。

validate_definition

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

校验字段定义是否完整。

返回:校验报告字典。

结构:

  • return: Dictionary,GFValidationReportDictionary 格式,包含 ok、issues、issue_count 和 next_actions。

validate_value

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

校验字段值是否符合声明类型。

参数:

名称 说明
value 字段值。

返回:校验报告字典。

结构:

  • value: Variant,待校验字段值。
  • return: Dictionary,GFValidationReportDictionary 格式,包含 ok、issues、issue_count 和 next_actions。

describe

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

描述字段契约。

返回:描述字典。

结构:

  • return: Dictionary,包含 field_name、display_name、value_type、required、allow_null、default_value、class_name_hint、metadata。