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

134 lines
3.8 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.
# GM/调试功能
## 分类
- 项目功能
## 目的
记录 GM 面板、调试请求、测试入口和开发验证流程。
## 已知线索
- UI 路径:`Assets/Game/GameHFScripte/GameFunction/UIWindows/GMWindow/`
- 背包数据:`GMWindow_BagData.cs`
- 请求配置:`GMWindow_GM.cs`
- 能看到背包、战斗、商店等调试请求线索。
## 已确认内容
窗口定义:
```text
GMWindow : AbsHFUIWindow
-> [HFAssetBundlePath(..., "UIWindows/GMWindow/GMWindow.prefab")]
-> [HFUIWindowLayer(UIWindow, Popup)]
```
生命周期:
```text
GMWindow.OnRunAwake()
-> OnRunAwake_BagData()
-> OnRunAwake_GM()
GMWindow.OnOpen()
-> OnOpen_BagData()
-> OnOpen_GM()
GMWindow.OnClose()
-> OnClose_BagData()
-> OnClose_GM()
```
GM 请求结构:
```text
GM_Network_MsgId
-> msgId : Network_MsgId
-> tip
-> args : List<GM_Network_MsgId_Arg>
GM_Network_MsgId_Arg
-> tip
-> contentType
-> value
```
发送链路:
```text
点击 btnSendGM
-> OnSendGM()
-> new GMC2S()
-> gmC2S.Msgid = (int)selected.msgId
-> gmC2S.Args.AddRange(...)
-> HFSeverManager.Instance.SendMsg(gmC2S)
```
当前 GM 覆盖范围:
- 背包:
- 请求背包数据:`GetBagItem`
- 添加道具:`PlayerResourceChange`
- 关卡:
- `BattleLevelEnter`
- `BattleLevelExit`
- `BattleLevelWin`
- `BattleLevelFail`
- 用户外围数据:
- 设置关卡完成波数:`SetUserRolePeripheryLevelWaveProgress`
- 领取用户关卡进度奖励:`UserRolePeripheryClaimedProgressReward1Reward`
- 时间:
- `GetServerTimeStamp`
- 宝箱:
- 添加用户宝箱:`AddUserRolePeripheryTreasureChest`
- 删除用户宝箱:`DelUserRolePeripheryTreasureChest`
- 获取/开启/领取/结束冷却相关操作存在注释。
- 商店:
- `SetDailyFeaturedTotalRefreshCount` 使用硬编码 `(Network_MsgId)7090`
- Tower
- 上阵、下阵、升级、添加 Tower 的 GM 配置块存在,但全部注释。
当前接入状态:
- GMWindow 本身是完整 UI 窗口。
- GM 请求通过统一 `GMC2S` 包装真实业务 `Network_MsgId` 和参数。
- 未看到明显的开发环境开关MainWindow 中 GM 按钮也有编辑器开关注释,当前入口是否开放待确认。
## 梳理任务
- [ ] 梳理 GMWindow 打开入口。
- [x] 梳理 GM 请求结构和参数配置。
- [x] 梳理 GM 对背包、PVE、商店等功能的覆盖范围。
- [ ] 梳理 GM 功能是否只在开发环境启用。
- [x] 梳理 GM 请求和网络框架的关系。
## 待确认
- GMWindow 的正式打开入口待确认。
- 是否有权限/环境开关待确认。
- 是否允许线上包保留 GM 面板待确认。
- GM 操作通过服务器 GM 协议,有修改服务器数据的能力风险,需要上线前明确禁用策略。
## 相关框架
- [UI 框架](../../../modules/frameworks/UI窗口系统/README.md)
- [网络框架](../../../modules/frameworks/网络系统.md)
- [事件框架](../../../modules/frameworks/事件系统/README.md)
---
## 文档关联
> 当本文档发生变更时,应同步检查以下关联文档,避免信息不一致。
| 文档 | 关联原因 |
|---|---|
| [modules/模块索引.md](../../../modules/模块索引.md) | 模块索引是项目知识总入口 |
| [modules/frameworks/事件系统/README.md](../../../modules/frameworks/事件系统/README.md) | 事件框架 |
| [modules/frameworks/网络系统.md](../../../modules/frameworks/网络系统.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、网络、事件、配置等框架 |