# 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 -> 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、网络、事件、配置等框架 |