User:RMN/HookEvent: Difference between revisions
No edit summary |
Dart Raiden (talk | contribs) (see https://www.mediawiki.org/wiki/Extension:SyntaxHighlight#inline) |
||
(One intermediate revision by the same user not shown) | |||
Line 53: | Line 53: | ||
: Тип: '''light userdata''' | : Тип: '''light userdata''' | ||
: Возвращает дескриптор ловушки, если ловушка была успешно создана, иначе nil | : Возвращает дескриптор ловушки, если ловушка была успешно создана, иначе nil | ||
| <syntaxhighlight lang="lua | |<syntaxhighlight lang="lua" line> | ||
local hHook = m.HookEvent('MyEvent', function(w, l) | local hHook = m.HookEvent('MyEvent', function(w, l) | ||
print('MyEvent is raised!') | print('MyEvent is raised!') |
Latest revision as of 01:02, 24 September 2022
HookEvent
Устанавливает функцию обратного вызова ("ловушку") для реакции на вызов события. Ловушки вызываются в порядке добавления по цепочке друг за другом.
Сигнатура ловушки: function (wParam, lParam) return 0 end
.
Корректным результатом работы ловушки является 0. При возврате 1 следующие в цепочке ловушки не будут вызваны.
В качестве wParam/lParam поддерживаются следующие типы: boolean, number, string, light userdata, userdata.
- Параметры
- name
- Тип: string
- Имя события.
- hook
- Тип: function
- Функция-ловушка, которая будет вызвана при наступлении события.
- Результат
- Тип: light userdata
- Возвращает дескриптор ловушки, если ловушка была успешно создана, иначе nil
- Пример
local hHook = m.HookEvent('MyEvent', function(w, l)
print('MyEvent is raised!')
end)
Function | Description | Extended description | Settings | Example |
---|---|---|---|---|
HookEvent | Устанавливает функцию обратного вызова ("ловушку") для реакции на вызов события. | Ловушки вызываются в порядке добавления по цепочке друг за другом.
Сигнатура ловушки: Корректным результатом работы ловушки является 0. При возврате 1 следующие в цепочке ловушки не будут вызваны. В качестве wParam/lParam поддерживаются следующие типы: boolean, number, string, light userdata, userdata. |
|
local hHook = m.HookEvent('MyEvent', function(w, l)
print('MyEvent is raised!')
end) |
Function | Description | Extended description | Settings | Example |
---|---|---|---|---|
CreateHookableEvent | Creates a hookable event. | name
|
local hEvent = m.CreateHookableEvent('MyEvent') |
|
HookEvent | Sets a callback function ("trap") to react to event call. | Traps are called one by one in the order they were added to the sequence. Trap signature: |
name
hook
|
local hHook = m.HookEvent('MyEvent', function(w, l)
print('MyEvent is raised!')
end) |
UnhookEvent | Removes "trap" from event call sequence. | hEvent
|
m.UnhookEvent(hHook) |
|
NotifyEventHooks | Calls all "traps" of event call sequence one by one. | hEvent
wParam
|
m.NotifyEventHooks(hEvent) |