mirror of
https://github.com/motajs/template.git
synced 2026-10-11 23:20:21 +08:00
docs(09): un-defer shop interface note (interface provided)
This commit is contained in:
parent
ff71899f12
commit
6d24d826bc
@ -98,20 +98,21 @@
|
||||
- **D-35(列表 / 排序):** 道具分为**永久道具**与**可消耗道具**;各自按**数量从多到少**排序,**数量相同按 id 排序**。
|
||||
- **D-36(交互 / 入参):** **单击选中、再次点击使用**;**无丢弃、无拖拽**功能。入参为 **`HeroState`**。
|
||||
|
||||
### 任务 4 · shop 商店界面(讨论已定 · 暂缓规划,待 `ShopState` 接口)
|
||||
### 任务 4 · shop 商店界面(讨论已定 · 现规划)
|
||||
|
||||
> 参照图:`.planning/images/shop.png`(仅布局参考)。**本界面推迟**:等用户提供数据端 `ShopState` 接口后再规划(用户决定)。以下决策暂不打入计划。
|
||||
> 参照图:`.planning/images/shop.png`(仅布局参考)。**用户已提供数据端 `ShopState` 接口(尚未实现,但可用于 UI 参数与编写)**,故本界面纳入规划。
|
||||
|
||||
- **D-38[deferred](布局):** 顶部「**购买选项 | 售出选项**」切换;左「**商店列表**」;右列自上而下 = 「**选中物品名称**」/「**选中物品描述**」/「**购入量选择**」(其**按钮上方**显示 **买价 / 卖价 / 存货 / 拥有 / 总价** 等价格信息)/「**购买按钮**」。占满游戏画面。
|
||||
- **D-39[deferred](模式 / 列表):** 可在**购入 / 售出**间切换;**售出也用「商店列表」**(商店不卖的,玩家也不能从背包售出);列表按 **id 排序**;**库存显示在物品最右侧、右对齐**;列表**可滚动、显示滚动条**。
|
||||
- **D-40[deferred](数量语义):** 数量调整四个按钮 `<< < {当前购入/售出量} > >>`,步进**同 legacy**(`<<`/`>>` = ±10,`<`/`>` = ±1);上限 = **购入:商店库存**、**售出:玩家拥有数量**;**数量按物品分别记忆**(切换物品时保存各自数量);「购买按钮」买**当前选中物品**的数量。
|
||||
- **D-41[deferred](边界 / 依赖):** 本任务**只负责 UI 编写,不负责消费者如何调用**(**打开方式不管**)。商店数据需一个专门的 **`ShopState`**(放在**数据端**)——**当前无接口,后续由用户提供**;shop UI 依赖该接口。
|
||||
- **D-38(布局):** 顶部「**购买选项 | 售出选项**」切换;左「**商店列表**」;右列自上而下 = 「**选中物品名称**」/「**选中物品描述**」/「**购入量选择**」(其**按钮上方**显示 **买价 / 卖价 / 存货 / 拥有 / 总价** 等价格信息)/「**购买按钮**」。占满游戏画面。
|
||||
- **D-39(模式 / 列表):** 可在**购入 / 售出**间切换;**售出也用「商店列表」**(商店不卖的,玩家也不能从背包售出);列表按 **id 排序**;**库存显示在物品最右侧、右对齐**;列表**可滚动、显示滚动条**。
|
||||
- **D-40(数量语义):** 数量调整四个按钮 `<< < {当前购入/售出量} > >>`,步进**同 legacy**(`<<`/`>>` = ±10,`<`/`>` = ±1);上限 = **购入:商店库存**、**售出:玩家拥有数量**;**数量按物品分别记忆**(切换物品时保存各自数量);「购买按钮」买**当前选中物品**的数量。
|
||||
- **D-41(边界 / 依赖):** 本任务**只负责 UI 编写,不负责消费者如何调用**(**打开方式不管**)。商店数据由一个专门的 **`ShopState`**(数据端)承载;**接口已由用户提供、实现待补**。
|
||||
|
||||
### 任务 3 · 待用户补充的数据端接口(阻塞,补充后再继续规划)
|
||||
### 任务 3 · 数据端接口补充(已由用户提供)
|
||||
|
||||
- **book**:按「**基础属性**」计算临界/伤害的接口(当前无;现有 `calculateCritical` / `getDamageInfo` 只走计算后属性);`@user/data-system` 是否允许加入 `client-modules` 依赖。
|
||||
- **equipbox**:**单件装备增减**接口(空槽 / 仅卸下);确认槽位真实路径为 **`heroState.equip.slots`**(非 `state.equipment.slots`)。
|
||||
- **toolbox**:**已拥有道具枚举**接口。
|
||||
- **book**:`calculateEnemyCritical(...)`(基础属性路径)、`calculateViewCritical(...)`(计算后)、`IDamageSystem.with(hero)`;`@user/data-system` 已在 `client-modules` 声明。**已提供。**(OI-6「1 防」口径经用户确认:`getIsolatedAttribute().add('def',1)` → `with(...).calculateEnemyCritical(...)`,为预期写法。)
|
||||
- **equipbox**:`compareEquip(uid, -1, slot)` 支持空槽 / 仅卸下。**已提供**;槽位路径确认为 **`heroState.equip.slots`**。
|
||||
- **toolbox**:`IHeroItems.iterateItems()` 枚举已拥有道具。**已提供。**
|
||||
- **shop**:`ShopState` 接口**已提供(实现待补)**,可用于 UI 参数与编写。
|
||||
- **`<icon>`**:其实现为 **legacy**,需后续改造;**当前以它占位**。
|
||||
|
||||
### the agent's Discretion
|
||||
|
||||
Loading…
Reference in New Issue
Block a user