- 删除 01~05 旧中文教程目录 - 将 03 核心功能教程拆分为各 framework 模块的子文档 - 06 工具脚本移入 modules/frameworks/编辑器工具/UI工具/ - 非框架内容合并进 rules/20-开发规则.md 与 rules/40-工作流清单.md - 更新所有交叉链接与文档关联表 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
4.0 KiB
4.0 KiB
商店
分类
- 项目功能
目的
记录商店商品、购买、货币消耗、体力/资源购买和商店 UI 入口。
已知线索
- GM 线索:
Assets/Game/GameHFScripte/GameFunction/UIWindows/GMWindow/GMWindow_GM.cs中有商店模块注释。 - Tips 线索:
Tips_GetPower引用ShopGoodsInfo。 - 图集线索:
SpriteAtlasAssets/Shop - 代码中可见
ShopWindow、ShopGetCurrency注释引用。
已确认内容
协议和数据结构已生成:
Network_MsgId.GetShop = 2500Network_MsgId.ShopBuy = 2501Network_MsgId.ShopRefresh = 2502HFEvent_STC_GetShopS2CHFEvent_STC_ShopBuyS2CHFEvent_STC_ShopRefreshS2C
请求/响应字段:
GetShopC2S
-> ShopId
GetShopS2C
-> repeated ShopInfo
ShopBuyC2S
-> GoodsId
-> BuyType
ShopBuyS2C
-> ShopId
-> Goods
-> Item
ShopRefreshC2S
-> ShopId
-> RefreshType
ShopRefreshS2C
-> Shop
核心数据结构在:
Assets/Game/GameHFScripte/CopyToHF/Network/Player.csAssets/Game/GameHFScripte/CopyToHF/Network/Common.cs
ShopInfo
-> ShopId
-> RefreshInfo : Map<int, ShopRefreshInfo>
-> Goods : Map<int, ShopGoodsInfo>
ShopGoodsInfo
-> GoodsId
-> BuyNum : Map<int, GoodsBuyNumInfo>
-> Item
ShopRefreshInfo
-> RefreshType
-> RefreshNum
GoodsBuyNumInfo
-> BuyType
-> BuyNum
体力购买相关:
Tips_GetPower是当前能看到的体力购买/领取 UI 线索。Tips_GetPower读取Constants.PurchaseStamina。Tips_GetPower监听HFEvent_BagItemUpdate刷新展示。Stamina_QueryC2S/Stamina_GetC2S协议已生成,但当前未看到实际发送点。
当前接入状态:
MainWindow中OpenWindow<ShopWindow>、ShopGetCurrency、Tips_GetPower入口大多处于注释状态。- 未发现
GetShopC2S、ShopBuyC2S、ShopRefreshC2S在业务代码中的实际发送点。 - 未发现独立商店 manager。
- 因此当前判断:商店协议和部分 UI/资源痕迹存在,但客户端业务主流程未完整接入或处于注释/待开发状态。
梳理任务
- 查找是否存在独立商店 manager、window 或配置表。
- 梳理商品数据结构和
ShopGoodsInfo来源。 - 梳理购买流程:打开、选择、校验、扣费、到账。
- 梳理商店与背包、资源、体力之间的关系。
- 确认当前商店功能是完整实现、部分接入还是已注释/待开发。
待确认
- 是否存在未纳入当前工程的
ShopWindow、ShopGetCurrency或旧分支代码。 - 是否存在
Shop.xlsx、Goods.xlsx、DailyDeals.xlsx等相关配置;当前配置列表未登记这些表,但生成代码里有旧表痕迹。 - 商店是否区分普通商店、体力购买、礼包、广告等类型。
- 商店 UI 当前看起来未接入,需要后续确认是否是产品阶段未启用。
相关框架
文档关联
当本文档发生变更时,应同步检查以下关联文档,避免信息不一致。
| 文档 | 关联原因 |
|---|---|
| modules/模块索引.md | 模块索引是项目知识总入口 |
| modules/features/背包.md | 背包 |
| modules/frameworks/数据配置框架.md | 数据/配置框架 |
| modules/frameworks/网络系统.md | 网络框架 |
| modules/frameworks/UI窗口系统/README.md | UI 框架 |
| rules/10-架构说明.md | 架构说明定义总体分层和依赖方向 |
| rules/30-模块登记规则.md | 模块登记规则定义分类和状态口径 |
| TODO:补充依赖的框架/模块文档 | 如 UI、网络、事件、配置等框架 |