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.

30 lines
960 B

4 years ago
3 years ago
4 years ago
4 years ago
3 years ago
4 years ago
3 years ago
  1. package wow.doge.mygame.subsystems.events
  2. sealed trait Event
  3. case object BulletFired extends Event
  4. // type BulletFired = BulletFired.type
  5. final case class EventWithData(data: Int) extends Event
  6. sealed trait TickEvent extends Event
  7. object TickEvent {
  8. case object RenderTick extends TickEvent
  9. case object PhysicsTick extends TickEvent
  10. }
  11. sealed trait EntityMovementEvent extends Event
  12. object EntityMovementEvent {
  13. final case class MovedLeft(name: String, pressed: Boolean)
  14. extends EntityMovementEvent
  15. final case class MovedUp(name: String, pressed: Boolean)
  16. extends EntityMovementEvent
  17. final case class MovedRight(name: String, pressed: Boolean)
  18. extends EntityMovementEvent
  19. final case class MovedDown(name: String, pressed: Boolean)
  20. extends EntityMovementEvent
  21. }
  22. sealed trait StatsEvent extends Event
  23. object StatsEvent {
  24. case class DamageEvent(hitBy: String, victimName: String, amount: Int)
  25. extends StatsEvent
  26. }