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
generated by LDoc 1.4.6 Last updated 2018-05-29 20:06:55