外观
SuAPI 开发路线
SuAPI 是国内社区的另一套《生存战争 2》MOD API 实现,与 SurvivalcraftApi(SCAPI)并列。它不是 SCAPI 的插件,也不能直接加载为 SCAPI 编译的 DLL。
当前技术基线
根据 SuAPI 仓库当前说明:
- 目标框架为
.NET 8,仓库锁定 SDK8.0.402; - 支持 Windows 与 Android;
- MOD 使用
.scmod封装; - 核心扩展由
IModLoader、IModEventBus、IModInjector、IModParentField、IModParentMethod和IModResource等组件提供; - 可使用事件总线替换、Injector 类映射和加载期注入等方式扩展游戏。
这些名称和版本会随实现变化。编写代码时以当前分支源码为准,不要套用 SCAPI 1.9 的命名空间与生命周期。
建议起步流程
- 安装仓库要求的 .NET 8 SDK,并确认
dotnet --list-sdks能看到8.0.402。 - 克隆 SuAPI和示例 MOD 集。
- 先构建一个不修改世界存档的小示例,确认目标平台能够加载。
- 阅读示例中的
ModInfo.xml、程序集引用和.scmod打包脚本。 - 再选择事件订阅、方法注入或资源扩展,不要一开始覆盖大段核心逻辑。
示例怎么读
示例仓库包含 MiniMap、WatchMod、ConsoleMod、StringInterceptor、RainWithoutDawn、MemoryBankDrawMod、ScMultiplayer 与 HeadlessRenderingMod 等项目。推荐顺序是:
- 从资源和元数据较少的示例认识包结构;
- 用事件类示例理解生命周期与取消/传递行为;
- 用 StringInterceptor 一类示例理解注入边界;
- 最后再读多人或无头渲染示例,因为它们涉及更多子系统。
与 SCAPI 不能混用的内容
- 目标框架和引用程序集;
- MOD 入口、生命周期和事件注册方式;
- 注入机制与资源合并规则;
- 打包元数据以及运行时加载器。
如果教程没有明确写出 API 名称和提交版本,应先把它当成“思路参考”,不要直接复制代码。
