Как выполнить обратный вызов в Lua с параметрами - PullRequest
1 голос
/ 03 ноября 2019

Я пытаюсь добавить дополнительную логику в функцию обратного вызова. Проблема в том, что для обратного вызова также требуется параметр.

У меня есть эта функция, последним параметром является обратный вызов:

game.showAlert( 
  "Title", 
  "Message",
  function( event )
    if (event.action == "clicked") then
      --Do stuff
    end
  end
)

Я пытаюсь ввести некоторую дополнительную логику после обратного вызова, выполнив это:

game.showAlert = function (title, message, tblButtons, tblListener) 
  function onComplete()
    --Execute listener that was passed in
    if (tblListener and type(tblListener) == "function") then
        tblListener()
    end

    --Do other stuff
  end

  native.showAlert(title, message, tblButtons, onComplete)
end

Когда я звоню tblListener(), я получаю сообщение о том, что event - это nil, что имеет смысл.

Вопрос в том, как выполнить обратный вызовкак изначально предполагалось с правильным параметром и контекстом?

...