四层数据架构
05/04综合
Step 1: Settings.lua — 新增 cloud relay + body_state 事件
Step 4: Server.lua — 新增 cloud relay 处理器 + body_state RMW
Step 7: MapEditor.lua — 云端存取改 CloudProxy + 导出全部关卡按钮先找到所有 clientCloud 的位置
现在进行 BodyState.lua 的改造。需要:
- 添加 require("network.CloudProxy")
- 将 clientCloud:Set(key, val, function(ok) ... end) 改为 cloud:Set(key, val, { ok=fn, error=fn })
- 将 clientCloud:Get(key, function(ok, val) ... end) 改为 cloud:Get(key, { ok=fn, error=fn })
- 添加共享 body_state 上报功能(调用 Client.ReportBodyState)
完成内容1. CloudProxy 统一路由层(新建)
- scripts/network/CloudProxy.lua — 提供与 clientCloud 兼容的 Set/Get/IsAvailable API
- 多人模式 → 通过 Client.CloudSave/CloudLoad 中转到服务端 serverCloud
- 单机模式 → 直接 fallback 到 clientCloud
- HandleCloudSave / HandleCloudLoad — 通用云存取中转(reqId 匹配回调)
- HandleReportBodyState — uid=0 共享数据 Read-Modify-Write
- HandleFetchBodyState — 读取共享 body_state 返回客户端
- HandleCloudSave / HandleCloudLoad — 通用云存取中转(reqId 匹配回调)
- HandleReportBodyState — uid=0 共享数据 Read-Modify-Write
- HandleFetchBodyState — 读取共享 body_state 返回客户端
- Client.CloudSave/CloudLoad — 带 reqId 追踪的异步中转
- Client.ReportBodyState/FetchBodyState — 共享状态上报/拉取



