Files
UnityAI/business-reference/playballoons/features/商店.md
lms ee1ff7f444 [docs][refactor]: 将旧 01~06 中文教程合并整理为 modules/frameworks 文件夹结构
- 删除 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>
2026-07-07 18:36:15 +08:00

4.0 KiB
Raw Blame History

商店

分类

  • 项目功能

目的

记录商店商品、购买、货币消耗、体力/资源购买和商店 UI 入口。

已知线索

  • GM 线索:Assets/Game/GameHFScripte/GameFunction/UIWindows/GMWindow/GMWindow_GM.cs 中有商店模块注释。
  • Tips 线索:Tips_GetPower 引用 ShopGoodsInfo
  • 图集线索:SpriteAtlasAssets/Shop
  • 代码中可见 ShopWindowShopGetCurrency 注释引用。

已确认内容

协议和数据结构已生成:

  • Network_MsgId.GetShop = 2500
  • Network_MsgId.ShopBuy = 2501
  • Network_MsgId.ShopRefresh = 2502
  • HFEvent_STC_GetShopS2C
  • HFEvent_STC_ShopBuyS2C
  • HFEvent_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.cs
  • Assets/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 协议已生成,但当前未看到实际发送点。

当前接入状态:

  • MainWindowOpenWindow<ShopWindow>ShopGetCurrencyTips_GetPower 入口大多处于注释状态。
  • 未发现 GetShopC2SShopBuyC2SShopRefreshC2S 在业务代码中的实际发送点。
  • 未发现独立商店 manager。
  • 因此当前判断:商店协议和部分 UI/资源痕迹存在,但客户端业务主流程未完整接入或处于注释/待开发状态。

梳理任务

  • 查找是否存在独立商店 manager、window 或配置表。
  • 梳理商品数据结构和 ShopGoodsInfo 来源。
  • 梳理购买流程:打开、选择、校验、扣费、到账。
  • 梳理商店与背包、资源、体力之间的关系。
  • 确认当前商店功能是完整实现、部分接入还是已注释/待开发。

待确认

  • 是否存在未纳入当前工程的 ShopWindowShopGetCurrency 或旧分支代码。
  • 是否存在 Shop.xlsxGoods.xlsxDailyDeals.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、网络、事件、配置等框架