package me.eater.threedom.event

import me.eater.threedom.generated.EventNames

interface EventListener {
    fun <T> on(eventName: String, block: (Event<T>) -> Unit)
}

inline fun <reified T> EventListener.on(noinline block: (Event<T>) -> Unit) = on(EventNames.getEventName<T>(), block)
