跳转至

GFNetworkFieldSerializer

API Reference / Network / 类索引

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

网络状态字段编码器。 将常见 Godot 值归一化为可序列化 Variant。它只处理字段值的形态转换, 不规定同步方向、可靠性、预测、回滚或冲突解决策略。

成员概览

类型 名称 签名
枚举 ValueType enum ValueType
属性 value_type var value_type: ValueType = ValueType.VARIANT
属性 quantize_decimals var quantize_decimals: int = -1
属性 clamp_enabled var clamp_enabled: bool = false
属性 min_value var min_value: float = 0.0
属性 max_value var max_value: float = 1.0
方法 serialize_value func serialize_value(value: Variant) -> Variant:
方法 deserialize_value func deserialize_value(value: Variant) -> Variant:
方法 duplicate_serializer func duplicate_serializer() -> GFNetworkFieldSerializer:

枚举

ValueType

  • API:public
enum ValueType { ## 保持原始 Variant。 VARIANT, ## 布尔值。 BOOL, ## 整数。 INT, ## 浮点数。 FLOAT, ## 字符串。 STRING, ## StringName,编码时使用 String。 STRING_NAME, ## Vector2,编码为两个数值。 VECTOR2, ## Vector3,编码为三个数值。 VECTOR3, ## Vector2i,编码为两个整数。 VECTOR2I, ## Vector3i,编码为三个整数。 VECTOR3I, ## Color,编码为四个数值。 COLOR, }

字段值类型。

属性

value_type

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

字段值类型。

quantize_decimals

  • API:public
var quantize_decimals: int = -1

浮点量化小数位;小于 0 表示不量化。

clamp_enabled

  • API:public
var clamp_enabled: bool = false

是否夹取数值。

min_value

  • API:public
var min_value: float = 0.0

数值夹取下限。

max_value

  • API:public
var max_value: float = 1.0

数值夹取上限。

方法

serialize_value

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

编码字段值。

参数:

名称 说明
value 原始值。

返回:可序列化值。

结构:

  • value: Variant,原始字段值。
  • return: Variant,可序列化字段值;向量和颜色会编码为 Array。

deserialize_value

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

解码字段值。

参数:

名称 说明
value 编码值。

返回:解码后的值。

结构:

  • value: Variant,serialize_value() 产生的编码值或兼容输入。
  • return: Variant,按 value_type 解码后的字段值。

duplicate_serializer

  • API:public
func duplicate_serializer() -> GFNetworkFieldSerializer:

复制编码器配置。

返回:新编码器。