深色
风格
视觉表达
S 循环切换
经典
稳定的技术默认风格
信号流
突出动态流向
蓝图
工程评审
编辑风格
适合发布与上线说明
动态
演示
导出
导出图表
便携、整洁的输出
E
分享
分享卡片
1200×630 PNG
路径分享卡片
1200×630 PNG
可达范围分享卡片
1200×630 PNG
复制分享卡片
复制 PNG 到剪贴板
复制图表
复制 PNG 到剪贴板
图像
PNG
无损图像
JPEG
紧凑图像
WebP
现代图像格式
矢量与动效
SVG
可编辑矢量图
WebM
6 秒动效
@infernus/core 内部子系统与事件机制
←
引导视图
探索此系统
沿精选路径逐步查看,而不改变源图表。
节点
下一步
→
▶
播放故事
#
复制此刻
显示全部
@infernus/core 内部子系统与事件机制
由 Archify 生成的架构图。
gamemode · 生命周期钩子 · components 实体与生命周期
gamemode
生命周期钩子
filterscript · 脚本装载器 · components 实体与生命周期
filterscript
脚本装载器
command · 指令解析分发 · components 实体与生命周期
command
指令解析分发
entities · 实体实例 · components 实体与生命周期
entities
实体实例
utils/bus.ts · 事件引擎 · utils 事件、钩子与池
utils/bus.ts
事件引擎
utils/hook.ts · 方法拦截 · utils 事件、钩子与池
utils/hook.ts
方法拦截
utils/pools.ts · 实体实例注册 · utils 事件、钩子与池
utils/pools.ts
实体实例注册
internalProps · 实体私有状态 · utils 事件、钩子与池
internalProps
实体私有状态
wrapper/native · 原生调用绑定 · wrapper 原生绑定
wrapper/native
原生调用绑定
__inject__ · 可替换实现 · wrapper 原生绑定
__inject__
可替换实现
streamer 封装 · 插件原生绑定 · wrapper 原生绑定
streamer 封装
插件原生绑定
全局 samp · 事件注册入口 · 宿主 open.mp
全局 samp
事件注册入口
open.mp 原生 · 原生回调来源 · 宿主 open.mp
open.mp 原生
原生回调来源
streamer 插件 · 流式加载插件 · 宿主 open.mp
streamer 插件
流式加载插件
派发事件
samp.on(name, trigger)
实例入池
callNative
Streamer 原生调用
注册回调
components 实体与生命周期
utils 事件、钩子与池
wrapper 原生绑定
宿主 open.mp
图例
前端
后端
云服务
消息总线
就绪
章节 01 / 01
引导章节
图表指南
探索此系统
×
正在检查已编译语义
01
查找任意节点
搜索标签、职责、类型和稳定 ID。
/
02
追踪路径
查看两个语义节点如何按编写方向连接。
R
03
查看完整系统
打开带实时视口和稳定节点的语义雷达。
M
04
比较语义类型
统计角色、显示流量并比较直接编写的连接。
L
05
播放引导故事
浏览已编写的章节和真实关系。
P
06
进入演示模式
让实时图表占满视口,同时不改变导出。
F
E
导出
T
主题
S
风格
0
重置
+
放大
-
缩小
Esc
关闭
查找节点
×
⌕
/
没有匹配的节点
语义护照
已验证来源
编写可达范围
上游
0
下游
0
×
复制链接
关系
路径探测
选择起点节点
查找起点
复制链接
清除
在图表中选择两个语义节点
←
▶
旅程
→
总览
先选择来源,再选择目标;方向很重要。
语义透镜
比较系统角色
×
最多选择两种语义类型。选择一种可显示其真实流量;选择两种只比较直接编写的关系。
选择一种类型以检查其节点和相连关系。
复制链接
清除
语义雷达
正在构建总览
打开雷达
×
点击节点
拖动平移
语义雷达需要更多地图可见空间。
路径
地图
透镜
阅读
100%
事件层 utils/bus.ts
• eventBus 是 Map<name, 监听器数组>,注册顺序即执行顺序;triggerBus 另存 trigger 供 useTrigger 复用
• defineEvent 返回 [pusher, trigger]:pusher 订阅并返回 off,trigger 触发整条中间件链
• isNative 为 true 时在 import 阶段完成 registerEvent + samp.on;为 false 则是纯进程内事件
实体与状态 utils/pools.ts
• 每种实体一个 Map 池;Player 在 onConnect 构造入池、onDisconnect 出池,Vehicle 在 create/destroy 时进出池
• internalPlayerProps 是 Symbol 键,避免插件扩展 Player 时覆盖 core 的私有运行时字段
• 原生回调先按 id 解析成池中实例,再以对象形式传给监听器
装载与生命周期
• GameMode.use(script) 仅入队;onInit 监听器按注册顺序依次 load,onExit 卸载
• IFilterScript.load() 必须返回注销函数数组,卸载时逐个调用
• 卸载与退出期间 INTERNAL_FLAGS.skip 置位,跳过对已失效游戏的原生调用