保存独立KV用户服务、固定会话存档与原业务接线,以及C3d资料缓存和C3e本人统计写。 保留原PF/AGG路线、业务公式和时序;榜单读取、好友资料、公告、匹配及首场景闸仍待完成。 验证:ServiceHost两条件各33组646断言;Unity CLI Loop编译0错误269警告。 包含相关方案、评审裁决、测试及状态文档。未操作服务器、正式账号或打包。
18 lines
2.2 KiB
Markdown
18 lines
2.2 KiB
Markdown
# 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 首场景与最终闲置实现清理仍待后续。
|