Files
ft/CodexOutput/upserver/B3BatchMigration/M2/M2-CP2A-Player编译阻断补审方案-待独立审查.md
Liubing\LB 6813da149a feat(upserver): 保存M2客户端KV迁移至本人统计写检查点
保存独立KV用户服务、固定会话存档与原业务接线,以及C3d资料缓存和C3e本人统计写。
保留原PF/AGG路线、业务公式和时序;榜单读取、好友资料、公告、匹配及首场景闸仍待完成。

验证:ServiceHost两条件各33组646断言;Unity CLI Loop编译0错误269警告。
包含相关方案、评审裁决、测试及状态文档。未操作服务器、正式账号或打包。
2026-09-30 19:19:05 +08:00

18 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# M2 CP2A Player 编译阻断补审方案(待独立审查)
日期:2026-09-29。此文只为 CP2A 的真实 Player 目标零错误验收补齐既有条件编译缺陷;它**尚未获独立审查与主会话编码裁决**。原 CP2A 12 文件白名单不含 `FishingChallengeManager.cs`,因此目前不修改该生产文件,也不把合成 PlayerProbe 或 Editor 编译当成 Player 验收。
## 已核事实与最小变化
`Client/Assets/Scripts/DataCenter/FishingChallengeManager.cs` 的 `ResetForKVLoad()` 约第72行在所有目标执行连锁赋零:`...=PreScore=_cheatingScore=0`;`_cheatingScore` 字段约第642行仅处于 `#if UNITY_EDITOR`。故非 Editor 编译时该引用没有声明。这是既有源码问题,非本轮 CP2A 接线新增。现有 Unity CLI Loop Editor 编译 Success=true、0错误,不能证明 Player 目标。
建议只允许该文件一处等价拆分:所有目标继续将 `PrefabName` 与原数值字段清零;把 `_cheatingScore=0` 单独置于 `#if UNITY_EDITOR` 内。不移动字段、不在 Player 新增闲置字段、不改变 `GetQualityScoreWithExtra` 的既有条件分支,也不触碰玩法评分、存档格式或其他模块。若独立审查发现还有其他 Player 编译错误,逐项核来源,超出本一文件一处边界则另补审,不顺手修复。
## 验收与停手门
1. 原 ZCode 对此单文件补充方案、字段条件编译、Reset 语义和文件白名单作独立完整审查;主会话核受审 hash 后逐条裁决,才可编码。
2. 编码后以 Unity CLI Loop 验 Editor 编译、以**不打包的真实 Player 脚本编译手段**验非 Editor 目标0错误;若 CLI Loop 无该能力,保留 Player 未验,不假称完成,也不自行打包。`SERVICE_HOST`/`PlayerProbe` 只能是补充合成证据。
3. 复跑 CP2A 89 组合成加载、ServiceHost、原31模块相关回归及 `git diff --check`;该文件变化仅限受审拆分。不得进入 Play、请求正式101/102、打包或扩大账号名单。
此阻断不改变 CP2A 设计审查已批准的登录/交接边界。CP2A 在 Player 编译及批末独立实施复核前保持实施中;CP2B 首场景与最终闲置实现清理仍待后续。