mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-04 18:41:51 +00:00
add events.reset
This commit is contained in:
parent
ac6084f904
commit
e762cf9b23
4 changed files with 22 additions and 1 deletions
|
|
@ -145,6 +145,12 @@ events.on(code: str, handler: function)
|
|||
|
||||
Adds an event handler by its code, not limited to the standard ones.
|
||||
|
||||
```lua
|
||||
events.reset(code: str, [optional] handler: function)
|
||||
```
|
||||
|
||||
Removes the event, adding a handler if specified.
|
||||
|
||||
```lua
|
||||
events.emit(code: str, args...) -> bool
|
||||
```
|
||||
|
|
|
|||
|
|
@ -144,6 +144,12 @@ events.on(code: str, handler: function)
|
|||
|
||||
Добавляет обработчик события по его коду, не ограничиваясь стандартными.
|
||||
|
||||
```lua
|
||||
events.reset(code: str, [опционально] handler: function)
|
||||
```
|
||||
|
||||
Удаляет событие, добавляя обработчик, если указан.
|
||||
|
||||
```lua
|
||||
events.emit(code: str, args...) -> bool
|
||||
```
|
||||
|
|
|
|||
|
|
@ -23,6 +23,14 @@ function events.on(event, func)
|
|||
table.insert(events.handlers[event], func)
|
||||
end
|
||||
|
||||
function events.reset(event, func)
|
||||
if func == nil then
|
||||
events.handlers[event] = nil
|
||||
else
|
||||
events.handlers[event] = {func}
|
||||
end
|
||||
end
|
||||
|
||||
function events.remove_by_prefix(prefix)
|
||||
for name, handlers in pairs(events.handlers) do
|
||||
local actualname = name
|
||||
|
|
|
|||
|
|
@ -616,7 +616,7 @@ bool scripting::register_event(
|
|||
if (lua::getfield(L, name)) {
|
||||
lua::pop(L);
|
||||
lua::getglobal(L, "events");
|
||||
lua::getfield(L, "on");
|
||||
lua::getfield(L, "reset");
|
||||
lua::pushstring(L, id);
|
||||
lua::getfield(L, name, -4);
|
||||
lua::call_nothrow(L, 2);
|
||||
|
|
@ -706,6 +706,7 @@ void scripting::load_layout_script(
|
|||
uidocscript& script
|
||||
) {
|
||||
int env = *senv;
|
||||
|
||||
lua::pop(lua::get_main_state(), load_script(env, "layout", file));
|
||||
script.onopen = register_event(env, "on_open", prefix + ".open");
|
||||
script.onprogress =
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue