记录文件#

声明用户界面文件 ui.xml, 将共享定义放在使用它们的模块之前. 声明第三方依赖性,并验证其版本. 文件加载时,世界和菜单可能还没有准备好; 登记回调和阅读现有船只是不同的阶段.

XML
<addon name="wiki_example">
  <environment type="menus">
    <file name="ui/wiki_example.lua" />
  </environment>
</addon>

个性窗口#

使用 助手窗口指南 对于文字和按,或 设置 API 对于普通的选择. 另一方面,新界面可以独立构建; 标准菜单回调.

勿阻碍转载#

处理人员应该很快回来. 结了用户界面. 使用事件和单独的结果来改变世界,而不是在每次表更新中重复操作.

生命周期#

按文本安装一次处理器. 装载或菜单重建后再次解决参考,避免积累包装. 例子拒绝了过时的适配器实例的回调. 检查不会取消操作器的登记; 免费框架和过渡状态分别.

LUA
WikiPanel = {}
local instance = WikiPanel
RegisterEvent("Wiki.Example", function(_, payload)
    if WikiPanel ~= instance then return end
    -- Обработка относится к актуальному экземпляру.
end)

继续阅读#

Lua ↔ MD, 定制窗户 和 标准的UI扩展.