GFNetworkDirtyStateTracker¶
API Reference / Network / 类索引
- 路径:
addons/gf/extensions/network/session/gf_network_dirty_state_tracker.gd - 模块:
Network - 继承:
RefCounted - API:
public - 类别:运行时服务 (
runtime_service) - 首次版本:
6.0.0
通用网络状态 dirty 字段追踪器。 维护字段基线、优先级和近似比较规则,帮助项目或扩展决定哪些状态需要同步。 它不扫描节点、不规定 authority,也不发送消息。
成员概览¶
| 类型 | 名称 | 签名 |
|---|---|---|
| 枚举 | Priority |
enum Priority |
| 属性 | epsilon |
var epsilon: float = 0.001 |
| 属性 | default_priority |
var default_priority: Priority = Priority.NORMAL |
| 方法 | set_field_priority |
func set_field_priority(field_id: StringName, priority: Priority) -> void: |
| 方法 | get_field_priority |
func get_field_priority(field_id: StringName) -> Priority: |
| 方法 | set_baseline |
func set_baseline(state: Dictionary) -> void: |
| 方法 | update_baseline |
func update_baseline(state: Dictionary, field_ids: PackedStringArray = PackedStringArray()) -> int: |
| 方法 | get_dirty_report |
func get_dirty_report(state: Dictionary, options: Dictionary = {}) -> Dictionary: |
| 方法 | is_field_dirty |
func is_field_dirty(state: Dictionary, field_id: StringName) -> bool: |
| 方法 | clear |
func clear() -> void: |
| 方法 | get_debug_snapshot |
func get_debug_snapshot() -> Dictionary: |
枚举¶
Priority¶
- API:
public - 首次版本:
6.0.0
enum Priority {
## 高频、强实时字段。
REALTIME,
## 高优先级字段。
HIGH,
## 普通字段。
NORMAL,
## 低频字段。
LOW,
## 只适合出生或初始状态同步的字段。
SPAWN_ONLY,
## 只保留在本地的字段。
LOCAL_ONLY,
}
字段同步优先级。
属性¶
epsilon¶
- API:
public - 首次版本:
6.0.0
浮点和向量近似比较阈值。
default_priority¶
- API:
public - 首次版本:
6.0.0
默认字段优先级。
方法¶
set_field_priority¶
- API:
public - 首次版本:
6.0.0
设置字段优先级。
参数:
| 名称 | 说明 |
|---|---|
field_id |
字段标识。 |
priority |
优先级。 |
get_field_priority¶
- API:
public - 首次版本:
6.0.0
获取字段优先级。
参数:
| 名称 | 说明 |
|---|---|
field_id |
字段标识。 |
返回:字段优先级。
set_baseline¶
- API:
public - 首次版本:
6.0.0
设置基线状态。
参数:
| 名称 | 说明 |
|---|---|
state |
字段状态。 |
结构:
state: Dictionary mapping field ids to values.
update_baseline¶
- API:
public - 首次版本:
6.0.0
使用当前状态更新全部或指定字段基线。
参数:
| 名称 | 说明 |
|---|---|
state |
字段状态。 |
field_ids |
指定字段;为空时更新全部字段。 |
返回:更新字段数量。
结构:
state: Dictionary mapping field ids to values.
get_dirty_report¶
- API:
public - 首次版本:
6.0.0
获取 dirty 字段报告。
参数:
| 名称 | 说明 |
|---|---|
state |
当前字段状态。 |
options |
可选参数,支持 include_spawn_only、include_local_only、priorities。 |
返回:dirty 字段报告。
结构:
state: Dictionary mapping field ids to values.options: Dictionary with optionalinclude_spawn_only: bool,include_local_only: bool, andpriorities: Array.return: Dictionary with dirty_count, dirty_fields, by_priority, and values.
is_field_dirty¶
- API:
public - 首次版本:
6.0.0
检查字段是否 dirty。
参数:
| 名称 | 说明 |
|---|---|
state |
当前字段状态。 |
field_id |
字段标识。 |
返回:字段值变化时返回 true。
结构:
state: Dictionary mapping field ids to values.
clear¶
- API:
public - 首次版本:
6.0.0
清空基线和优先级。
get_debug_snapshot¶
- API:
public - 首次版本:
6.0.0
获取调试快照。
返回:调试快照。
结构:
return: Dictionary with baseline_count, priority_count, epsilon, and default_priority.