保存独立KV用户服务、固定会话存档与原业务接线,以及C3d资料缓存和C3e本人统计写。 保留原PF/AGG路线、业务公式和时序;榜单读取、好友资料、公告、匹配及首场景闸仍待完成。 验证:ServiceHost两条件各33组646断言;Unity CLI Loop编译0错误269警告。 包含相关方案、评审裁决、测试及状态文档。未操作服务器、正式账号或打包。
2.7 KiB
2.7 KiB
等级榜设计范围纠正:LevelB沿用原逻辑
2026-09-30,依据用户纠正:“等级榜读取入口修改即可,为什么LevelB也要重新设计,这个不是存储在客户端的吗”。本文件覆盖上一份《等级榜读取与本人统计键接口设计》中把LevelB键名、公式或更新规则表述为新增设计/待决策项的文字。原文及hash保留追溯,不再依其扩大设计范围。
已确认事实与执行边界
- LevelB不重新设计。 原客户端SetLvData计算分数,使用原LevelB和地区代码+LevelB统计名称;公式、输入、上限、调用点、异步方式与更新时机全部沿用。不再次要求用户选择或审核这些既定业务规则。
- 客户端计算不等于仅保存在客户端本地。 当前DataCenter.LeadboardData.cs:189–205计算后,调用同文件:158–169的SetLeadboardData,通过UpdatePlayerStatisticsAsync把统计上传到PlayFab。本人LevelB的KV替换尚未编码,不能声称当前已经写入KV。
- 写入仅做既定存储平移。 将上述PlayFab统计写入换成KV管理器写本人KV,保留原统计名和数值。KV字符串序列化是存储适配,不是新业务方案;不引入新统计体系、临时副本、重算或更新策略。已有LastLoginTimeUtc与本轮读取接口范围无关,保持现状。
- 本轮新增接口设计仅为榜单读取。 GetLeadboardData中原GetLeaderboardAsync在KV模式改为服务器读取入口;服务器读取各玩家已存统计,返回原消费端需要的名次、分数、新UserID与资料。沿上一份文档的拟POST /leaderboard/GetLeaderboard请求和响应设计,原UI消费流程不改。服务器实现由服务端开发负责。
- 上一份文档关于原PF后台同分、重置等不可从客户端断言的说明,只是服务端读取等价性核验边界,不是要求重做LevelB,也不新增用户决策题。若核验确实发现业务差异,列出证据在同批处理,不能先自行改规则。
审核与当前状态
用户已明确存储方向和纯平移规则;本次不另开LevelB设计审查,不新增业务方案。仍遵守用户“所有相关内容完整审核通过后才编码”的要求:C3c只审核必要接线实现与新增读取合同是否保持原行为,不重审已定需求。本轮没有修改客户端、测试或服务器代码,也没有请求线上接口。
相关代码:Client/Assets/Scripts/DataCenter/DataCenter.LeadboardData.cs。上一份读取接口草案结合本范围纠正阅读;本文件不宣称新接口已部署或C3c已通过。