crummy
12/07/2018, 12:23 AMclass EventManager{
private val listeners: MutableMap<KClass<out Event>, MutableList<EventListener<in Event>>> = HashMap()
fun <T : Event> register(event: KClass<out T>, listener: EventListener<T>) {
val eventListeners: MutableList<EventListener<T>> = listeners.getOrPut(event) { ArrayList() }
eventListeners.add(listener)
}
fun notify(event: Event) {
listeners[event::class]?.forEach { it.handle(event) }
}
}
My getOrPut
call wants a MutableList<EventListener<T>>
but found MutableList<EventListener<in Event>>
instead.crummy
12/07/2018, 10:31 AM