--- title: 模块设置和现有UI API summary: 什么时候使用设置库,什么时候创建一个自定义窗口. section: ui kind: guide status: reference updated: 2026-10-27 tags: ["X4","modding","ui","settings"] sources: ["https://github.com/bvbohnen/x4-projects/tree/master/extensions/sn_mod_support_apis"] --- ## 一个设置并不总是需要窗户 转换,号码或模式选择器可以使用共享扩展设置界面. 专用面板可以使用 [定制窗口](wiki:create-ui). 其他其他选择是: X4 支持模块化API, `sn_mod_support_apis`: 简单菜单API支持设置/菜单构建,而Lua Loader API帮助加载和延迟初始化. ## 区分图书馆和游戏 `Register_OnLoad_Init` 与 MD `Simple_Menu_Options` 它们不保证在清洁的X4中. 阅读安装版本的文档,声明 `content.xml` 和 `ui.xml` 需要的东西,等待准备. ## 设置的路线 定义一个独特的ID,文字,类型和默认;注册变更处理器;验证和存储值在适当的文本中. 默认的选择不能在每个载荷中重写保存的选择. 菜单重建不能重复昂贵的操作. ## 验证 试试开,改变值,重新开,储存和加载. 单独检查缺失或不兼容的依赖性. 使用当前库文档,而不是未经验证的例子用于更旧版本. ## UIX 订阅 接口扩展和HUD是不同的库;不要把其子与简单菜单API混为一谈. 其他 [UIX订阅示例](wiki:ui-hooks-and-top-menu) 包含参数,回报,删除订阅和共享顶部菜单限制. 检查依赖版本,而不仅仅是它的存在.