YHH
1f297ac769
feat(ecs): ECS 网络状态同步系统 | add ECS network state synchronization (#390)
## @esengine/ecs-framework
新增 @sync 装饰器和二进制编解码器,支持基于 Component 的网络状态同步:
- `sync` 装饰器标记需要同步的字段
- `ChangeTracker` 组件变更追踪
- 二进制编解码器 (BinaryWriter/BinaryReader)
- `encodeSnapshot`/`decodeSnapshot` 批量编解码
- `encodeSpawn`/`decodeSpawn` 实体生成编解码
- `encodeDespawn`/`processDespawn` 实体销毁编解码
将以下方法标记为 @internal,用户应通过 Core.update() 驱动更新:
- Scene.update()
- SceneManager.update()
- WorldManager.updateAll()
## @esengine/network
- 新增 ComponentSyncSystem 基于 @sync 自动同步组件状态
- 将 ecs-framework 从 devDependencies 移到 peerDependencies
## @esengine/server
新增 ECSRoom,带有 ECS World 支持的房间基类:
- 每个 ECSRoom 在 Core.worldManager 中创建独立的 World
- Core.update() 统一更新 Time 和所有 World
- onTick() 只处理状态同步逻辑
- 自动创建/销毁玩家实体
- 增量状态广播
2025-12-29 21:08:34 +08:00
..
2025-12-27 12:54:53 +08:00
2025-12-27 12:54:53 +08:00
2025-12-29 21:08:34 +08:00
2025-12-27 12:54:53 +08:00
2025-12-27 12:54:53 +08:00