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.
35 lines
1.0 KiB
35 lines
1.0 KiB
package wow.doge.mygame.subsystems.events
|
|
|
|
import wow.doge.mygame.game.entities.CharacterStats
|
|
|
|
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: CharacterStats.DamageHealth
|
|
) extends StatsEvent
|
|
}
|