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.

27 lines
634 B

  1. package wow.doge.mygame
  2. import akka.actor.typed.ActorSystem
  3. import cats.effect.Resource
  4. import monix.bio.Task
  5. import io.odin.Logger
  6. import wow.doge.mygame.game.GameApp
  7. import wow.doge.mygame.executors.Schedulers
  8. trait ActorSystemModule {
  9. def logger: Logger[Task]
  10. def app: GameApp
  11. def schedulers: Schedulers
  12. lazy val actorsResource =
  13. Resource.make(logger.info("Creating Actor System") >> Task {
  14. ActorSystem(
  15. RootActor(app, schedulers, logger = logger),
  16. name = "GameActorSystem"
  17. )
  18. })(sys =>
  19. logger.info("Shutting down actor system") >> Task(
  20. sys.terminate()
  21. )
  22. )
  23. }