forked from nova/jmonkey-test
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
960 B
30 lines
960 B
package wow.doge.mygame.subsystems.events
|
|
|
|
sealed trait Event
|
|
case object BulletFired extends Event
|
|
// type BulletFired = BulletFired.type
|
|
final case class EventWithData(data: Int) extends Event
|
|
|
|
sealed trait TickEvent extends Event
|
|
object TickEvent {
|
|
case object RenderTick extends TickEvent
|
|
case object PhysicsTick extends TickEvent
|
|
}
|
|
|
|
sealed trait EntityMovementEvent extends Event
|
|
object EntityMovementEvent {
|
|
final case class MovedLeft(name: String, pressed: Boolean)
|
|
extends EntityMovementEvent
|
|
final case class MovedUp(name: String, pressed: Boolean)
|
|
extends EntityMovementEvent
|
|
final case class MovedRight(name: String, pressed: Boolean)
|
|
extends EntityMovementEvent
|
|
final case class MovedDown(name: String, pressed: Boolean)
|
|
extends EntityMovementEvent
|
|
}
|
|
|
|
sealed trait StatsEvent extends Event
|
|
object StatsEvent {
|
|
case class DamageEvent(hitBy: String, victimName: String, amount: Int)
|
|
extends StatsEvent
|
|
}
|