Module Event
-Makes working with events in factorio a lot more simple.
--
Factorio can only have one handler registered per event. This module - allows you to easily register multiple handlers for each event. - Using this module is as simple as replacing script.on_event(...) with Event.register(...)
-Usage:
--
-
require('stdlib/event/event')
-
-
-
-
-Functions
-| register (event, handler) | -Registers a function for a given event. | -
| dispatch (event) | -Calls the registerd handlers - Will stop dispatching remaning handlers if any handler passes invalid event userdata. | -
| remove (event, handler) | -Removes the handler from the event. | -
-
- - -
Functions
- --
-
- - - register (event, handler) - -
-
- Registers a function for a given event. If a nil handler is passed remove all events and stop listening for that event.
- Events are dispatched in the order they are registered.
-
-
-
Parameters:
--
-
- event - defines.events or {defines.events,...} - events to register - -
- handler - function - Function to call when event is triggered - -
Returns:
--
-
- Event
-
-
Usage:
--
-
Event.register(defines.events.on_tick, function(event) print event.tick end) - -- creates an event that prints the current tick every tick.
- - -
- - - - dispatch (event) - -
-
- Calls the registerd handlers
- Will stop dispatching remaning handlers if any handler passes invalid event userdata.
- Handlers are dispatched in the order they were created
-
-
-
Parameters:
--
-
- event - table - LuaEvent as created by script.raise_event - -
See also:
--
-
- - - - remove (event, handler) - -
-
- Removes the handler from the event. If it removes the last handler for an event stop listening for that event.
-
-
-
Parameters:
--
-
- event - defines.events or {defines.events,...} - events to remove the handler for - -
- handler - function - to remove - -
Returns:
--
-
- Event
-
-