996引擎-源码学习:客户端游戏事件时序与参数全解
- 996引擎客户端游戏事件时序与参数全解
- 一、范围与读法
- 二、先看整条客户端生命周期
- 三、分块时序与事件参数
- 3.1 系统启动与主界面初始化
- 3.2 地图切换、安全区与地图资源
- 3.3 主玩家属性、经验、血蓝与货币
- 3.4 实体进出视野、绑定与动作
- 3.5 自动挂机、自动寻路、拾取与目标
- 3.6 Buff 与骑乘
- 3.7 死亡、复活与召唤物
- 3.8 背包、装备、快捷栏与仓库
- 3.9 普通技能、开关与冷却
- 3.10 人物内功、经络与连击
- 3.11 英雄属性、装备、技能与内功
- 3.12 窗口、子页、提示框与交互
- 3.13 NPC 点击、对话与面板
- 3.14 任务与主界面辅助栏
- 3.15 队伍与好友
- 3.16 行会、排行榜与邮件
- 3.17 小地图显示与数据
- 3.18 交易与求购
- 3.19 公告、提示与倒计时
- 3.20 服务端变量、红点与合成
- 3.21 系统环境、窗口适配与设置
- 3.22 断线、重连与退出世界
- 3.23 平台客服、外部回调与上传提示
- 四、给常驻角色信息面板的使用建议
- 五、事件派发机制与监听边界
- 六、几个不能混为一谈的完成节点
- 七、源码补充及未启用名称
- 八、源码定位索引
- 8.1 启动与分发骨架
- 8.2 全部直接派发位置
- 九、在实际客户端记录关键时序
996引擎客户端游戏事件时序与参数全解
本文对照996m2客户端离线说明书.zip、scripts.zip、GUILayout_3.40.9.zip、GUIExport_3.40.9.zip,梳理客户端公开游戏事件及其实际调用顺序。
本文基于静态源码分析,没有在客户端实际调试。能确认的同函数调用顺序明确标出;网络响应、资源回调、互不关联的功能不编造总顺序。目标是既能查“什么时候监听”,也能查“回调拿到什么、此时哪些内容还没准备好”。
一、范围与读法
核对范围:官方事件表219 个名称;源码SLDefine.lua232 个事件常量;另外有1 个直接使用字符串的实际事件和1 个仅出现在注释中的未启用名称。合并共234 个名称,逐项列入下文。可执行 Lua 中定位到230 个名称、377 个直接派发位置;另外 3 个名称只有文档/常量、未找到派发,以及 1 个注释中的未启用名称。重复打包的scripts.lua、test/scripts.lua没有重复计数。
其中15 个名称不在官方“游戏事件”表中:12 个能找到实际派发的补充事件、2 个仅定义名称、1 个被注释的