Files
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

105 lines
4.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 奖励/道具展示
## 分类
- 项目功能
## 目的
记录通用奖励、道具展示、资源展示、弹窗提示和奖励到账表现。
## 已知线索
- 奖励提示:`Assets/Game/GameHFScripte/GameFunction/UIWindows/Tips/Tips_CommonReward.cs`
- 资源组件:`Assets/Game/GameHFScripte/GameFunction/UIWindows/Components/ResourceItem.cs`
- 道具 UI`Assets/Game/GameHFScripte/GameFunction/UIWindows/Item/`
- 配置线索:`XLSX_SRC/CN/Gift.xlsx``Resource.xlsx`
## 已确认内容
通用入口:
```text
HFFunCatalogue.Tips.ShowCommonRewardTips(reward, cardReward)
-> HFFunCatalogue.UIManager.OpenWindow<Tips_CommonReward>()
-> Tips_CommonReward.SetData(reward, cardReward)
```
定义位置:
- `Assets/Game/GameHFScripte/GameFunction/Logic/UI/HFFunCatalogue_UI_TipsManager.cs`
- `Assets/Game/GameHFScripte/GameFunction/UIWindows/Tips/Tips_CommonReward.cs`
奖励数据结构:
- `Tips_CommonReward.SetData` 接收 `RepeatedField<BagItem>`
- `BagItem` 来自网络 protobuf。
- 当前代码中把奖励分成 `cards``items` 的逻辑存在,但核心分类代码被注释:
- 原计划通过 `Item` 配置表判断 `enItemType.Tower`
- 当前 `ZYXlsxProjectSettings` 未登记 `Item.xlsx`,但旧代码里有 `ds_Item860D2A9ETableData` 痕迹。
展示组件:
- `Tips_CommonReward`
- 标题固定设置为 `REWARDS`
- `ResourceItem` 当前固定调用 `SetData(1)` 展示顶部资源。
- 普通道具用 `ItemIcon` 池展示。
- 卡片奖励区域逻辑存在,但资源设置代码被注释。
- `ResourceItem`
- 监听 `HFEvent_InitBag`
- 通过 `HFFunCatalogue.Bag.GetGameResourceCount(resourceId)` 展示资源数量。
- 资源变化动画和主动刷新事件逻辑存在注释。
- `Tips_UnlockTower`
- 用于解锁塔/卡片提示。
- 当前读 `Tower` / `Item` 配置和设置图标的代码被注释。
配置线索:
- `Gift.xlsx` 已登记到 ZYXlsx生成 `Gift14537B33Sheet1`
- `Resource.xlsx` 已登记到 ZYXlsx生成 `Resource840C5F09TableData`
- `Constants.xlsx` 中有奖励相关字段:`LuckyLootRewardTimes``LoginUsersItem``QuickOfflineReward``FreeOfflineReward` 等。
当前接入状态:
- 通用奖励弹窗入口存在。
- 奖励 UI 框架存在,但道具/卡片配置读取大量注释。
- 入包逻辑不在奖励弹窗里,当前主要由背包/服务器推送 `PlayerResourceChangeS2C` 更新。
## 梳理任务
- [x] 梳理奖励数据结构和展示入口。
- [x] 梳理奖励中道具、卡片、资源的分类。
- [x] 梳理奖励展示和背包更新的先后关系。
- [x] 梳理通用 Tips 的打开方式和资源加载方式。
- [ ] 梳理奖励来源PVE、任务、商店、GM 或其他系统。
## 待确认
- 奖励展示当前看起来只负责表现,不负责入包;仍需结合具体领取协议确认。
- `Gift.xlsx` 和实际奖励结构的对应关系待确认。
- `Item.xlsx` / `Tower.xlsx` 是否是旧表残留或当前缺失源表。
- 飞图事件 `HFEvent_FlyIcon` 存在,但实际调用链待继续确认。
## 相关框架
- [背包](背包.md)
- [UI 框架](../../../modules/frameworks/UI窗口系统/README.md)
- [资源框架](../../../modules/frameworks/资源管理/README.md)
- [数据/配置框架](../../../modules/frameworks/数据配置框架.md)
---
## 文档关联
> 当本文档发生变更时,应同步检查以下关联文档,避免信息不一致。
| 文档 | 关联原因 |
|---|---|
| [modules/模块索引.md](../../../modules/模块索引.md) | 模块索引是项目知识总入口 |
| [modules/features/背包.md](背包.md) | 背包 |
| [modules/frameworks/数据配置框架.md](../../../modules/frameworks/数据配置框架.md) | 数据/配置框架 |
| [modules/frameworks/资源管理/README.md](../../../modules/frameworks/资源管理/README.md) | 资源框架 |
| [modules/frameworks/UI窗口系统/README.md](../../../modules/frameworks/UI窗口系统/README.md) | UI 框架 |
| [rules/10-架构说明.md](../../../rules/10-架构说明.md) | 架构说明定义总体分层和依赖方向 |
| [rules/30-模块登记规则.md](../../../rules/30-模块登记规则.md) | 模块登记规则定义分类和状态口径 |
| TODO补充依赖的框架/模块文档 | 如 UI、网络、事件、配置等框架 |