To facilitate navigation between screens in my game I created this class
enum class ScreenEnum {
MAIN_MENU {
fun getScreen(): BaseScreen {
return MenuScreen()
}
},
GAME {
fun getScreen(): BaseScreen {
return GameScreen()
}
}
}
But I don't know how I can access these methods from another class in kotlin, did I do something wrong when creating the enum class? Thanks in advance if you can help me.
class Game() : BaseGame() {
override fun create() {
super.create()
// -> Here is where I am trying to access the getScreen method
// ScreenEnum.MAIN_MENU
}
}
I tried to access from a java class but without success
Make it a shared abstract method:
enum class ScreenEnum {
MAIN_MENU {
override fun getScreen(): BaseScreen {
return MenuScreen()
}
},
GAME {
override fun getScreen(): BaseScreen {
return GameScreen()
}
};
abstract fun getScreen(): BaseScreen
}