[M12] 完整 UI / HUD:背包、角色面板、技能树、腰带、血蓝球
里程碑 M12 · 重要程度 ★★★★☆ · 风险 低 · 依赖:M6(建议插队到 M8 之后)
完整路线图见ROADMAP.md
建议插队
💡 这个里程碑值得提前到 M8 之后做。
- UI 素材在
data\\global\\ui\\下,是 DC6,解码器已经就绪- 风险最低(纯表现层,不碰模拟)
- 血球 / 蓝球 + 背包界面带来的感知提升远超工作量——这是「突然看起来像暗黑 2 了」的那个节点
代价:M9 / M10 落地后 UI 要返工一轮数据绑定。考虑到 UI 层与数据层本来就该解耦,这个代价可接受。
改动清单
- [NEW]
src/ui/inventory.ts—— 背包 10×4 网格 + 装备槽 - [NEW]
src/ui/character-sheet.ts—— 角色面板 - [NEW]
src/ui/skill-tree-panel.ts—— 技能树面板 - [NEW]
src/ui/belt.ts—— 腰带 - [NEW]
src/ui/globes.ts—— 血球 / 蓝球 - [NEW]
src/ui/hotkeys.ts—— 技能快捷键 - [NEW]
src/ui/font.ts—— D2 位图字体(data\\local\\font\\)
注意
联机场景(net-scene.ts)目前没有背包 UI、没有血蓝球(单人场景有)。
虽然联机不在交付路径上,但新写的 UI 组件应该与场景解耦,将来能直接复用。
验收
- 界面截图与原版并排对比
- UI DC6 解码零失败
- 背包拖拽、装备穿脱、腰带快捷使用均正常
- 截图回归测试(浏览器侧判定靠状态字段,不靠看图——把状态挂到
window.__d2web*上由 CDP 读取)
No due date
100% Completed