Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- val events = mutableMapOf<Class<Event>, MutableList<Pair<Int, Function<Any>>>>()
- fun subscribe(event: Class<Event>, function: Function<Any>, priority: Int = 0) {
- var getEvent = events[event]
- if (getEvent == null)
- {
- getEvent = mutableListOf<Pair<Int, Function<Any>>>()
- events[event] = getEvent
- }
- getEvent.add(priority to function)
- getEvent.sortBy { it.first }
- }
- fun publish(event: Event) {
- events[event.javaClass]?.forEach{
- it.second.run { event }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement