User:RMN/HookEvent: Difference between revisions
No edit summary |
Dart Raiden (talk | contribs) see https://www.mediawiki.org/wiki/Extension:SyntaxHighlight#inline |
||
| (3 intermediate revisions by 2 users not shown) | |||
| Line 53: | Line 53: | ||
: Тип: '''light userdata''' | : Тип: '''light userdata''' | ||
: Возвращает дескриптор ловушки, если ловушка была успешно создана, иначе nil | : Возвращает дескриптор ловушки, если ловушка была успешно создана, иначе nil | ||
| | |<syntaxhighlight lang="lua" line> | ||
local hHook = m.HookEvent('MyEvent', function(w, l) | |||
print('MyEvent is raised!') | print('MyEvent is raised!') | ||
end) | end)</syntaxhighlight> | ||
|} | |} | ||
{{Content:MirLua/NamedEvents}} | {{Content:MirLua/NamedEvents}} | ||
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)
|