--- title: 采用Lua的X4 UI summary: 文件注册,初始化顺序,回调生命周期和响应性UI行为. section: ui kind: guide status: reference updated: 2026-10-22 tags: ["X4","modding","lua","ui"] sources: ["https://wiki.egosoft.com/X4%20Foundations%20Wiki/Modding%20Support/"] --- ## 记录文件 声明用户界面文件 `ui.xml`, 将共享定义放在使用它们的模块之前. 声明第三方依赖性,并验证其版本. 文件加载时,世界和菜单可能还没有准备好; 登记回调和阅读现有船只是不同的阶段. ```xml ``` ## 个性窗口 使用 [助手窗口指南](wiki:create-ui) 对于文字和按,或 [设置 API](wiki:ui-settings) 对于普通的选择. 另一方面,新界面可以独立构建; [标准菜单回调](wiki:extend-ui). ## 勿阻碍转载 处理人员应该很快回来. 结了用户界面. 使用事件和单独的结果来改变世界,而不是在每次表更新中重复操作. ## 生命周期 按文本安装一次处理器. 装载或菜单重建后再次解决参考,避免积累包装. 例子拒绝了过时的适配器实例的回调. 检查不会取消操作器的登记; 免费框架和过渡状态分别. ```lua WikiPanel = {} local instance = WikiPanel RegisterEvent("Wiki.Example", function(_, payload) if WikiPanel ~= instance then return end -- Обработка относится к актуальному экземпляру. end) ``` ## 继续阅读 [Lua ↔ MD](wiki:md-lua-bridge), [定制窗户](wiki:create-ui) 和 [标准的UI扩展](wiki:extend-ui).