为 RepoForm 添加出售功能,ShopNode 只承载玩家购买组件的逻辑
This commit is contained in:
+11
-7
@@ -90,20 +90,24 @@
|
||||
- 三个示例事件在局内都能完整触发、结算、回写状态。
|
||||
- 不会出现组件被扣掉但奖励未发、或耐久扣成负值这种半成功状态。
|
||||
|
||||
### P1-03 商店节点:购买 / 出售组件
|
||||
### P1-03 商店节点购买 + 背包出售组件 / 防御塔
|
||||
|
||||
- 核心目标:把当前“仅购买组件”的商店补成完整交易节点。
|
||||
- 核心目标:保留商店节点的购买职责,把出售入口迁到背包 `RepoForm`,形成完整交易闭环。
|
||||
- 交付物:
|
||||
- `Assets/GameMain/Scripts/UI/Shop/`
|
||||
- `Assets/GameMain/Scripts/UI/Game/`
|
||||
- `Assets/GameMain/Scripts/CustomComponent/ShopNodeComponent.cs`
|
||||
- 必要时新增 `Assets/GameMain/Scripts/Utility/` 下的交易规则工具
|
||||
- `Assets/GameMain/Scripts/CustomComponent/PlayerInventory/`
|
||||
- 具体拆分:
|
||||
- Shop UI 增加玩家库存展示与出售入口,至少支持出售三类组件。
|
||||
- 交易结算统一走一个买卖接口,不要在 UI 层分别修改金币和库存。
|
||||
- Shop UI 保持“4 个商品 + 购买 + 打开背包”主链,不再承担库存展示与出售交互。
|
||||
- Repo UI 增加明确的出售模式入口;进入后可批量选择未组装组件与非参战防御塔,并显示当前选择总价值。
|
||||
- 参战防御塔不能直接出售,必须先从参战区移出;出售整塔时,需要连同其绑定的 3 个组件一起从库存移除。
|
||||
- 交易结算统一走库存域的显式买/卖命令,不要在 UI 层分别修改金币和库存。
|
||||
- 商品购买后状态、库存变化、金币变化要同时刷新,不允许 UI 还显示可买但实际已买。
|
||||
- 明确商店节点退出条件与节点完成时机,避免出现开店即完成或出售后不回流的问题。
|
||||
- 验收补充:
|
||||
- 买卖后库存与金币实时正确更新。
|
||||
- 商店购买、背包出售后库存与金币实时正确更新。
|
||||
- 从商店里打开背包出售后,返回商店时金币显示与商品状态正确刷新。
|
||||
- 关闭商店后重新打开同一节点时,商品状态与本节点交易结果一致。
|
||||
|
||||
### P1-04 商店定价规则:买价、半价回收、卖塔 +10%、耐久折价
|
||||
@@ -114,7 +118,7 @@
|
||||
- `Assets/GameMain/Scripts/Entity/` 或库存相关域对象
|
||||
- 视需要调整 `Assets/GameMain/DataTables/ShopPrice.txt`
|
||||
- 具体拆分:
|
||||
- 抽出统一价格解析入口:基础买价、出售价、塔出售加成、耐久折价都走同一公式服务。
|
||||
- 抽出统一价格解析入口:商店买价、背包组件出售价、背包防御塔出售价、塔出售加成、耐久折价都走同一公式服务。
|
||||
- 明确“组件价格”和“整塔价格”关系,不能在 UI 里临时把三组件价格相加后再乘一个魔法数。
|
||||
- 明确耐久折价规则:按当前耐久比例折价,还是按损坏阈值分段折价;先写死规则文档,再落代码。
|
||||
- 如果 `ShopPrice.txt` 只够表达品质区间,新增字段或新表承载倍率,不要继续在代码里硬编码。
|
||||
|
||||
Reference in New Issue
Block a user