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