summaryrefslogtreecommitdiff
path: root/src/main/kotlin/de/romjaki/pluggabledino/states/MainMenu.kt
diff options
context:
space:
mode:
authorromangraef <roman.graef@gmail.com>2018-05-30 12:06:31 +0200
committerromangraef <roman.graef@gmail.com>2018-05-30 12:06:31 +0200
commit2ac18d91635b023db7ff3918f5041cb51ed1c968 (patch)
tree8caffe3c5807e105eb474e2277ece57dc82823c3 /src/main/kotlin/de/romjaki/pluggabledino/states/MainMenu.kt
downloadpluggabledino-2ac18d91635b023db7ff3918f5041cb51ed1c968.tar.gz
pluggabledino-2ac18d91635b023db7ff3918f5041cb51ed1c968.tar.bz2
pluggabledino-2ac18d91635b023db7ff3918f5041cb51ed1c968.zip
Initial commit
Diffstat (limited to 'src/main/kotlin/de/romjaki/pluggabledino/states/MainMenu.kt')
-rw-r--r--src/main/kotlin/de/romjaki/pluggabledino/states/MainMenu.kt52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/main/kotlin/de/romjaki/pluggabledino/states/MainMenu.kt b/src/main/kotlin/de/romjaki/pluggabledino/states/MainMenu.kt
new file mode 100644
index 0000000..f10a470
--- /dev/null
+++ b/src/main/kotlin/de/romjaki/pluggabledino/states/MainMenu.kt
@@ -0,0 +1,52 @@
+package de.romjaki.pluggabledino.states
+
+import de.romjaki.pluggabledino.*
+import de.romjaki.pluggabledino.api.Button
+import org.newdawn.slick.Color
+import org.newdawn.slick.GameContainer
+import org.newdawn.slick.Graphics
+import org.newdawn.slick.Input
+import org.newdawn.slick.state.BasicGameState
+import org.newdawn.slick.state.StateBasedGame
+
+class MainMenu : BasicGameState() {
+ override fun init(container: GameContainer?, game: StateBasedGame?) {
+ game!!
+ settingsButton.addClickHandler {
+ game.enterState(SETTINGS)
+ }
+ playButton.addClickHandler {
+ game.enterState(GAME)
+ }
+ }
+
+ override fun enter(container: GameContainer?, game: StateBasedGame?) {
+ settingsButton.enter()
+ playButton.enter()
+ }
+
+ override fun update(container: GameContainer?, game: StateBasedGame?, delta: Int) {
+ container!!
+ game!!
+ dinoAnimated.update(delta.toLong())
+ if (container.input.isKeyDown(Input.KEY_Q)) {
+ System.exit(0)
+ }
+ settingsButton.update(container.input)
+ playButton.update(container.input)
+ }
+
+ override fun getID(): Int =
+ MAINMENU
+
+ val playButton = Button("PLAY", WIDTH / 2f, HEIGHT / 2f + 50)
+ val settingsButton = Button("SETTINGS", WIDTH / 2f, HEIGHT / 2f + 100)
+ override fun render(container: GameContainer?, game: StateBasedGame?, g: Graphics?) {
+ g!!
+ g.background = Color.lightGray
+ g.drawImage(dinoAnimated.currentFrame, WIDTH / 2f - 16, HEIGHT / 2f - 16f)
+ playButton.draw(g)
+ settingsButton.draw(g)
+ }
+
+}