5.5 KiB
设置界面验收
日期:2026-11-12(Asia/Hong_Kong)。工作区:D:/vibeCoding/unityRouge/workTree/tree2。分支:codex/ui-improvements,基线 0857e29。Unity:6000.6.8f1,MCP 实例:tree2@1ae1f463。
交付与架构
主页和暂停菜单共用设置页,包含总音量、画质、分辨率、窗口/全屏、鼠标灵敏度、精瞄倍率、15 项键鼠绑定,以及中英文切换、应用保存、恢复默认和放弃草稿。
数据模型、持久化、运行时应用、输入改绑与设置界面分开,职责及依赖见 游戏设置。profile.json、range.json 的字段和版本、物品/蓝图 ID、回收事件编号保持原有格式。
静态与编辑器验证
| 检查 | 实际结果 |
|---|---|
| Git 范围 | 当前分支与工作区路径正确,git diff --check 通过,暂存区为空;本地缓存、构建及工作区清单被忽略。 |
| 资源引用 | 新脚本与文件夹均有 .meta;原场景、输入模板及已有 GUID 无修改。 |
| 编译与域重载 | 通过 Unity MCP 刷新,等编译与域重载结束后测试;最终 Console 无错误、警告。 |
| EditMode | 41/41 通过:设置 22 项、本地化 13 项、原有存档与回收 6 项。见 完整结果。 |
| 设置持久化 | 完整快照重载、字段缺省、数值校验、备份恢复、写入失败、未知版本拒写通过。 |
| 输入 | 原生键盘事件、UI 事件适配、重复键拒绝、Esc 取消、0 与标点按键、稳定绑定 ID、结束后恢复动作,以及仅完成一次通过。 |
| 显示预览 | 确认后保存、超时恢复、未确认不落盘及不受游戏时间缩放影响的时钟检查通过。 |
| 暂停集成 | 注入原生 Input System 暂停动作后打开菜单;从该菜单进入设置,发送 Esc 返回后 Paused = true、timeScale = 0,原暂停菜单存在。见 集成结果。 |
| 双语与字体 | 中英文均为 203 个键,格式参数一致;动态图集清空后仍检查源字体可提供全部字符。 |
1920×1080 下已查看中文音频、中文画面和中英文操作页,未发现中文缺字或横向文本溢出,长按键列表可滚动,底部操作区保持可见。
Windows 独立程序实测
通过 Unity MCP 生成 Windows x64 Mono Development 构建,并轮询至完成:0 errors / 0 warnings。最终 job 为 build-0e3941ddef,报告见 WindowsBuild.json。入口为 Builds/Windows/x64/Settings/Ironspore.exe,运行时保留完整目录和 ThirdPartyNotices。
测试使用独立目录 Logs/Settings/PlayerData/,通过 -ironspore-data-path 隔离进度、设置及语言偏好;编辑器使用 UserSettings/Ironspore/。未使用正式玩家存档。
| 操作 | 实际结果 |
|---|---|
| 主页设置入口 | 鼠标进入设置成功,音频/画面/操作分页正常。 |
| 音量与灵敏度 | 拖动至音量约 34%、鼠标灵敏度约 1.77 倍;Tab 与方向键可导航并调整精瞄倍率。 |
| 语言切换 | 设置内中英文切换即时刷新,切换时保留未应用草稿;中文无缺字。 |
| 按键冲突与改绑 | 将交互尝试设为 W 时提示与向前移动冲突;E → R 成功;第二次采集按 Esc 只取消采集并保留 R。 |
| 保存 | 点击应用显示已保存;文件记录音量 0.341、灵敏度 1.768 及原绑定 ID 对应的 R 覆盖。 |
| 画质与分辨率 | 高画质、1280×720 → 1600×900 窗口切换成功,确认后保存等级 3 和新尺寸。 |
| 超时恢复 | 1600×900 → 1280×720 预览不确认,等待超过 15 秒后恢复 1600×900;文件未被候选尺寸覆盖。 |
| 暂停设置入口 | 独立程序通过失焦进入暂停,进入设置并切换语言后返回;计时保持原暂停时刻。 |
| 焦点与键盘返回 | 最终构建中,从暂停菜单进入后按 Esc 返回成功;语言弹窗选择后再次按 Esc 也返回原暂停菜单。 |
| 退出重启 | 使用同一隔离目录重启,恢复中文、音量、高画质、1600×900、灵敏度与 R 绑定;机库和试验场提示同步显示 R。 |
| 日志 | 最终测试进程正常退出,未发现运行时异常、设置/进度写入失败或无效覆盖警告。 |
独立窗口检查覆盖 1280×720 与 1600×900;1920×1080 使用编辑器实际渲染验证。Esc 打开暂停的原生动作链在编辑器集成检查中覆盖;独立程序的暂停入口检查使用失焦自动暂停。没有进行全部系统分辨率、全屏切换、全部键位组合、音频设备或显示器的穷举测试。本轮未采样 60 FPS、性能指标或完整出击节奏。
截图与复现
EditMode 测试可沿用 Tools/Unity/Commands/Tests.json,由对应 get_test_job 查询至完成。Windows 程序可使用 -ironspore-data-path <绝对目录> 重复验证设置保存和重启,避免影响正式数据。最终产物哈希及测试设置摘要见 Artifacts.json。