C++ 引擎接口到 mock 的映射(INTERFACE_MAP)

C++ 引擎接口到 mock 的映射(INTERFACE_MAP)

第0条(基线)依据=C++ 绑定与注册清单(Luna 机制、全局函数、各服务器 KScriptFuncList、闭源 UI 引擎头文件)加 Lua 使用矩阵(tools/scan_framework_usage.lua,扫描根为 modules/scripts/,共 2525 个 Lua 文件,20260918 实测)。新增或缺失接口必须先查本表;未实现的必须补入 mock 并登记本表。

第1条(引擎全局函数)被 Lua 使用的 224 个引擎导出 API 必须全部实现(tools/compare_engine_usage.lua 校验零缺失;运行时门禁为 tests/harness/run_framework_engine_completeness_test.lua)。分类与覆盖:

类别(实现位置 framework_engine.lua 章节) 覆盖
时间与时钟 服务器时间、逻辑帧、循环、微秒、纳秒、毫秒、时区与偏差、日期互转、时间调整、循环时间
服务器身份与拓扑 中心 ID、中心名与信息、已连接中心系、已连接场景服系、本地场景服 ID、服务器索引与名、程序名、连接索引、世界索引、GS 信息系、随机 GS、控制服 ID、队列计数
服务器设置 开服与合服时间、世界等级、人数上限、跨服开关、建角校验、等级上限、开关类、URL 类
实体与玩家 玩家、在局玩家、NPC、机关、角色实体、遍历系、计数系、批量系、判定系、方向
角色 按 ID 或名查询、账号角色列表、全角色、在线角色系、踢出、冻结、改名、团队 ID、账号切换、白名单、类型掩码
数值与杂项 整数运算、目录创建、GUID、文件名哈希、文本过滤系、名称过滤系、封禁文本系、调试与平台判定、模块 ID、语言、日志文件、设备 ID、本地 IP、打开 URL、运行外部程序、资源包、易盾与 TMG 语音 SDK
序列化 严格版序列化与反序列化(确定性文本、可往返、循环引用保护、非法输入返回空)
网络全局 Send 系、广播系、Call 系、UI 事件系、HTTP 结果下发、世界激活、AI 剧情注册(全部经消息总线,无路由时安全返回)
HTTP 请求发送、HttpPost、请求计数、Curl 池、帧配额(请求记录可模拟响应)
地图与场景 场景与地图信息、副本创建与重置、相邻与网络距离、同场景判定、飞行距离
战斗与技能 技能、Buff、NPC 模板、属性与关系力、设置重载
配置与存档 配置表加载、脚本重载、脚本 DB 表、角色与账号存取、数据获取、序列号、备份信息
市场与畅游点 市场商品、摆摊、购买、畅游点兑换与发放与查询与日志
日志服与合服工具 LC 信息、目录操作、空闲帧、日志服关闭、合服工具退出与重命名
引擎全局 性能日志、内存转储、内存池、错误处理、栈信息、默认对齐、平台位数、LightUserData

配置注入:Mock.tEngineConfig 全字段必须可注入与断言;实体注册必须经 Mock_RegisterEntityMock_RegisterNpcMock_RegisterDoodad

第2条(全局函数)

C++ 全局接口 mock 实现位置 语义
MJLOG 分级日志 framework.lua 分级 stub,可覆盖输出
富文本日志 framework.lua stub;产品以 local 引用捕获,覆盖必须在加载前完成
GetCurrentTime/GetMilliSecond framework.lua 返回虚拟时钟毫秒
GetServerTime framework_engine.lua 等于 GetCurrentTime
GetLogicFrame/GetCurrentLoop framework_engine.lua 逻辑帧计数,Tick 推进
Random framework.lua 确定性种子
Include framework.lua 模块缓存 stub
FireEvent loader.lua 真实分发:订阅表加 pcall 保护
FireModuleEvent framework.lua 真实分发:module 订阅者加全局 param,可关闭
语音播放系 framework.lua stub,播放行为纳入追踪
GetPlayingRole/GetRole/GetPlayer framework.lua 玩家注册表;GetPlayer 按本服在局判定
实体查询系 framework_engine.lua 实体注册表
Framework_RegisterPlayer framework.lua 注册玩家并补属性容器、方法、场景与实体表
L2CGetAttrValue framework.lua 玩家属性读取
GetWnd/GetStringEx framework_ui.lua 虚拟控件树与文本资源
PlayPositionAnimate framework.lua 虚拟动画,定时器驱动回调
配置加载系 framework.lua GetGlobalTable、GetRuleTable(测试注入优先)、GetParamTable

第3条(网络层)

接口 mock 实现 路由
CallServer framework.lua 客户端到服务器
CallClient framework.luanode_ps.lua 按 dwID 到对应客户端节点
CallCenter node_ps.lua 转发链;冒号调用存在 self 偏移,必须核对
CallCenterByCenterID 等 framework.lua 按节点路由
Broadcast 与 CenterBroadcast 系 framework.lua 全量实现,广播等于全客户端投递
RegisterEvent/UnRegisterEvent framework.lua 真实注册表,env 捕获防重,经 FireModuleEvent 分发
SavedData 与 UserData 系 framework.lua 按调用者 env 隔离存储
GetEnv framework.lua 返回调用者 env
StartActivate/StopActivate framework.lua 帧回调注册,默认不驱动
RegisterDataDealFunc 与 RegisterProtocol 与 RegisterFunction framework.lua 登记表
客户端路由表 node_client.lua C2S 路由与 MC 桩节点

第4条(定时器)

C++ 接口 mock 实现 说明
CreateTimer Mock.TimerCreate 虚拟定时器;0 与负延迟强制 1ms;房间 ID 必须伴随存储与 trace
CloseTimer/StopTimer/CancelTimer Mock.TimerClose 单定时器置死
RemoveTimersByRoom Mock.TimerRemoveByRoom 批量置死、输出事件、返回清除数;他房不受影响
DoEvents stub trace 化
GetRemainingTime/GetTimerCount Mock.TimerRemaining 剩余时间与计数

第5条(控件系统)闭源 UI 引擎由 framework_ui.luaVirtualWindow 虚拟化(247 方法,20260918 实测),分类:

类别 方法
树操作 深度查找与自动创建、模板创建、子窗口管理、销毁、挂接
显隐 显示、隐藏、查询、设置;级联语义见 ARCHITECTURE.md 第9条
文字 文本读写、字体、行数与多行、显示文本
资源与纹理 纹理、图片、图标、影片、视频、声音、音乐、字符串资源
动画 淡入淡出、透明度、播放与停止、动画与控制、特效、缓动与时长与循环与速度、位置动画
位置与尺寸 坐标读写、尺寸、锚点、Z 序、偏移、缩放、旋转、角度
事件 窗口事件注册与查询、事件触发
列表与选项 项增删改查、选项、选择、勾选、展开、滚动
状态 可用、焦点、灰度、数据与值、帧、时间、选中、棋盘
批处理 批处理起止
布局 布局加载、设置、自适应

Mock.cfg 开关与引擎枚举(窗口事件类型 107 项,20260918 实测)必须由 loader.lua 全量注入;开关语义见 ARCHITECTURE.md 第9条。

第6条(已知缺口)

(一)Mock.cfg.bDriveActivate 默认关闭,帧回调不驱动。

(二)node_ps.luaPlayServer2MatchCenter_PullResult 路由;拉取类测试必须自包装转发或补路由。

(三)Mock.cfg.nPrimaryPlayerID 必须可配置;未设置时零行为变化。

(四)断线重连、丢包重试、帧驱动能力由 frame_driver.lua 提供;缺口必须随用随补,禁止降级测试。

相关推荐
apple_692658852 小时前
DLSS5画质增强 mayflyMods v1.2.5 四合一工具:DLSS5画质增强 + MFG多帧生成 + 游戏库启动 + MOD模组管理
ai·dlss5
云烟成雨TD11 小时前
LlamaIndex 系列【31】检索增强策略:命名实体识别(NER)
ai·agent·rag·llamaindex
slacker-kian11 小时前
本地大模型 + 自建 MCP Server + SAP OData:让 LLM 代理 SAP 业务操作
大模型·llm·sap·agent·mcp·odata
2601_9548118212 小时前
AI科学实验室自律系统:闭环自动化与智能实验设计技术路径 — 自动化技术
ai
2601_9548118213 小时前
AI智能教育多智能体协同:备教辅全链路架构实现 — 技术架构
ai
Java后端的Ai之路13 小时前
Python进阶探索17 - Python中的深拷贝与浅拷贝
人工智能·python·ai·浅拷贝·深拷贝
我要学脑机13 小时前
软件测试体系笔记:从模型到落地
测试
坐吃山猪14 小时前
Harness Engineering知识总结
llm·agent·harness