29 lines
2.2 KiB
Markdown
29 lines
2.2 KiB
Markdown
# 商店覆盖层 UX spec(shop)
|
||
|
||
> 状态:v1.0(2026-09-30 审计拍板点 4B 用户裁决落文——甲+乙并行:编排面小节落关卡节点地图、呈现面独立成文)
|
||
> 事实源:`game/presentation/views/shop_overlay_view.gd`(ShopOverlay)
|
||
> 机制权威:[关卡节点地图](../systems/冒险循环/关卡节点地图.md)(商店房编排:每关恰 1/Boss 前一位必经/兑付触发);定价数值归[难度曲线与Boss](../systems/冒险循环/难度曲线与Boss.md)(shop.tres,provisional)
|
||
|
||
## 定位
|
||
|
||
商店覆盖层是商店房节点的兑付呈现面(**冒险-关卡中循环节点功能**):行进至商店房打开,玩家用 GP(显示名「金币」)购买三属性 flat 档商品,离开后兑付确认回选路。本 spec 只锁呈现;编排与定价归机制文档。
|
||
|
||
## 布局与交互
|
||
|
||
- 模态覆盖层(dim + 居中):标题「商店」/ 金币余额(GP 读数)/ 三商品卡全陈列(显示名·档位文案·现价·已购档数)/ 购买按钮(余额不足禁用置灰——pattern 8 禁用态即理由)/ 离开按钮。
|
||
- 购买意图 `buy_requested(product_id)` 经组合根转发 runner;成功后 `refresh_state` 就地重刷(现价=基价+关级加成+步长×已购档数,runner 现算)。
|
||
- 离开 → 关卡画面兑付确认回选路(零自动推进)。
|
||
- 无刷新、无三选一、全陈列(GP+商店房批裁决);商旅信物类刷新件与该校裁决冲突,留同调实施批二选一(同调提案 §5)。
|
||
|
||
## 口径
|
||
|
||
- GP 余额读数 = runner 钱包投影(账本归[冒险结构](../systems/冒险循环/冒险结构.md) GP 冒险账本);本层不算账。
|
||
- 与关卡画面 GP 常驻徽章的关系:进店语境余额与选路常驻总量不同义(本层带购买语境),不构成重复展示——钥石「进账/存量」拆名逻辑同款。
|
||
- 购买确认交互:现行直接购买(无二次确认步);是否需破坏性确认异位(pattern 7)未裁决,本 spec 只登记现状不立新裁。
|
||
|
||
## 版本历史
|
||
|
||
| 版本 | 日期 | 改动 |
|
||
|---|---|---|
|
||
| v1.0 | 2026-09-30 | 首版落文(审计拍板点 4B 裁决:甲+乙并行——编排面小节落关卡节点地图、呈现面独立成文) |
|