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 - 首次版本:
3.17.0
enum ValueType {
## 保持原始 Variant。
VARIANT,
## 布尔值。
BOOL,
## 整数。
INT,
## 浮点数。
FLOAT,
## 字符串。
STRING,
## StringName,编码时使用 String。
STRING_NAME,
## Vector2,编码为两个数值。
VECTOR2,
## Vector3,编码为三个数值。
VECTOR3,
## Vector2i,编码为两个整数。
VECTOR2I,
## Vector3i,编码为三个整数。
VECTOR3I,
## Color,编码为四个数值。
COLOR,
## Quaternion,编码为归一化的 x/y/z/w 四个数值。
QUATERNION,
}
字段值类型。
属性¶
value_type¶
- API:
public
字段值类型。
quantize_decimals¶
- API:
public
浮点量化小数位;小于 0 表示不量化。
clamp_enabled¶
- API:
public
是否夹取数值。
min_value¶
- API:
public
数值夹取下限。
max_value¶
- API:
public
数值夹取上限。
方法¶
serialize_value¶
- API:
public - 首次版本:
3.17.0
编码字段值。Quaternion 固定输出归一化的 [x, y, z, w];非法旋转回退为单位四元数。
参数:
| 名称 | 说明 |
|---|---|
value |
原始值。 |
返回:可序列化值。
结构:
value: Variant,原始字段值。return: Variant,可序列化字段值;向量、颜色和 Quaternion 会编码为 Array。
deserialize_value¶
- API:
public - 首次版本:
3.17.0
解码字段值。Quaternion 数组会恢复单位长度,零长度或非有限分量回退为单位四元数。
参数:
| 名称 | 说明 |
|---|---|
value |
编码值。 |
返回:解码后的值。
结构:
value: Variant,serialize_value() 产生的编码值或兼容输入。return: Variant,按 value_type 解码后的字段值。
duplicate_serializer¶
- API:
public
复制编码器配置。
返回:新编码器。