aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/moe/nea/notenoughupdates/events/NEUEvent.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/moe/nea/notenoughupdates/events/NEUEvent.kt')
-rw-r--r--src/main/kotlin/moe/nea/notenoughupdates/events/NEUEvent.kt29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/main/kotlin/moe/nea/notenoughupdates/events/NEUEvent.kt b/src/main/kotlin/moe/nea/notenoughupdates/events/NEUEvent.kt
index 278282e..81dc6fc 100644
--- a/src/main/kotlin/moe/nea/notenoughupdates/events/NEUEvent.kt
+++ b/src/main/kotlin/moe/nea/notenoughupdates/events/NEUEvent.kt
@@ -1,7 +1,36 @@
package moe.nea.notenoughupdates.events
+/**
+ * An event that can be fired by a [NEUEventBus].
+ *
+ * Typically, that event bus is implemented as a companion object
+ *
+ * ```
+ * class SomeEvent : NEUEvent() {
+ * companion object : NEUEventBus<SomeEvent>()
+ * }
+ * ```
+ */
abstract class NEUEvent {
+ /**
+ * A [NEUEvent] that can be [cancelled]
+ */
abstract class Cancellable : NEUEvent() {
+ /**
+ * Cancels this is event.
+ *
+ * @see cancelled
+ */
+ fun cancel() {
+ cancelled = true
+ }
+
+ /**
+ * Whether this event is cancelled.
+ *
+ * Cancelled events will bypass handlers unless otherwise specified and will prevent the action that this
+ * event was originally fired for.
+ */
var cancelled: Boolean = false
}
}