listen
inline fun <T : Event> listen(priority: EventPriority = EventPriority.NORMAL, ignoreCancelled: Boolean = false, once: Boolean = false, delay: Long = 0, debounce: Long = 0, throttle: Long = 0, async: Boolean = false, noinline filter: (T) -> Boolean = { true }, noinline block: (T) -> Unit): EventHandle
Registers a listener for the specified event type T with various configurable options.
Return
An EventHandle that can be used to unregister the event listener.
Parameters
priority
The priority at which the event is handled.
ignore Cancelled
Whether or not the event is ignored if it is cancelled.
once
If true, the listener will automatically unregister after it is triggered once.
delay
The delay in milliseconds before the event is handled.
debounce
The debounce time in milliseconds for event handling.
throttle
The throttle time in milliseconds to limit the frequency of event handling.
async
Whether the event should be handled asynchronously.
filter
A filter function to determine if the event should be handled.
block
The block of code to execute when the event is triggered.