Testing out JmonkeyEngine to make a game in Scala with Akka Actors within a pure FP layer
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

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
}