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.

36 lines
998 B

4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
  1. package wow.doge.mygame.game
  2. import cats.effect.Resource
  3. import com.jme3.app.StatsAppState
  4. import com.jme3.system.AppSettings
  5. import io.odin.Logger
  6. import monix.bio.Task
  7. import monix.execution.Scheduler
  8. import wow.doge.mygame.executors.Schedulers
  9. class GameAppResource(
  10. logger: Logger[Task],
  11. jmeScheduler: Scheduler,
  12. schedulers: Schedulers
  13. ) {
  14. def get: Resource[Task, GameApp] =
  15. Resource.make(
  16. for {
  17. _ <- logger.info("Creating game app")
  18. appExt <- Task(new SimpleAppExt(schedulers, new StatsAppState()))
  19. app <- Task {
  20. val settings = new AppSettings(true)
  21. settings.setVSync(true)
  22. /**
  23. * disables the launcher
  24. * We'll be making our own launcher anyway
  25. */
  26. appExt.setShowSettings(false)
  27. appExt.setSettings(settings)
  28. // JMERunner.runner = app
  29. new GameApp(logger, appExt)
  30. }
  31. } yield (app)
  32. )(_ => logger.info("Closing game app"))
  33. }