Dongle provides a very simple API for registering a callback function for a given blizzard event. This gives you an easy way to call functions as methods within your object without needing to create closures.
This API was introduced with Dongle-1.0
DongleObject:RegisterEvent(event, func)[]
Register a callback for the given blizzard event. These handlers are not called in a predictable order, so don't rely on temporal registration to enforce behavior.
Arguments[]
- event (string) - The name of the blizzard event, such as "UNIT_HEALTH"
- func (function, string) - A function to be called, or the name of a method to call within the DongleObject.
Callback Signature[]
- func(event, ...)
- DongleObject[func](DongleObject, event, ...)
Behavior[]
- If func is specified as a function, the DongleObject is not passed as the first argument, the handler will only receive the arguments generated by the event.
- If func is a string, then DongleObject[func] is called with DongleObject as the first argument, along with the event's arguments.
- Although the frame which generates the event is available to the dispatcher, this information is not passed to the handlers.
- Each dongle object may only register for each event once
DongleObject:UnregisterEvent(event)[]
Unregisters the given event for this object, if registered.
Arguments[]
- event (string) - The name of the blizzard event, such as "UNIT_HEALTH"
DongleObject:UnregisterAllEvents()[]
Unregisters all events for this object.