134 lines
3.8 KiB
Markdown
134 lines
3.8 KiB
Markdown
|
|
# 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、网络、事件、配置等框架 |
|