交换方向#

方向 函数或条件
Lua 士 AddUITriggeredEvent(screen, control, payload)
接收器 event_ui_triggered, 其他 event.param3 在本合同中
MD → Lua raise_lua_event
接收器Lua RegisterEvent(name, callback)

它们的名称一定是完全一致的. 如果可以立即收到回复,请在发送前注册收件人.

Lua订阅和请求#

设例中UI文件已经通过表格注册. 它说明了召唤形式,而不是世界准备. 在真正的调整中,只发送在UI和MD生命周期中的确定的点.

LUA
local received = false

RegisterEvent("Wiki.Pong", function(_, payload)
    received = payload == "pong"
end)

AddUITriggeredEvent("WikiBridge", "ping", "hello")

处理和回复#

插入这个片段在你的脚本中 cues. 其他它与屏幕/控制匹配,验证简单的"你好"有效载荷,

XML
<cue name="Ping" instantiate="true" namespace="this">
  <conditions>
    <event_ui_triggered screen="'WikiBridge'" control="'ping'" />
  </conditions>
  <actions>
    <do_if value="event.param3 == 'hello'">
      <raise_lua_event name="'Wiki.Pong'" param="'pong'" />
    </do_if>
  </actions>
</cue>

当交换变成一个操作时#

在游戏效果之前验证输入类型和对象存在. 处理重复点击的单独操作,以创建物体或花钱. 在实际执行后,表现出成功. 在取代显示列表之前,组装完整的多部分答案. 看到 定制窗户 和 AddUITriggeredEvent.