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

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