Jumpbacks and continue
This commit is contained in:
parent
dab6fadad4
commit
b7278d6afc
11 changed files with 59 additions and 44 deletions
|
@ -15,8 +15,8 @@ import Graphics.Gloss.Data.Color (red)
|
|||
|
||||
------------------------------ Exported ------------------------------
|
||||
|
||||
renderLevelSelection :: Renderer Game
|
||||
renderLevelSelection Game{ state = state } = result
|
||||
renderLevelSelection :: Renderer State
|
||||
renderLevelSelection state = result
|
||||
where result = renderLevelList state
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
|
|
@ -4,11 +4,11 @@ module RPGEngine.Render.Lose
|
|||
|
||||
import RPGEngine.Render.Core ( Renderer )
|
||||
|
||||
import RPGEngine.Data ( Game )
|
||||
import RPGEngine.Data ( State )
|
||||
import Graphics.Gloss ( text )
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
-- TODO
|
||||
renderLose :: Renderer Game
|
||||
renderLose :: Renderer State
|
||||
renderLose _ = text "Win"
|
|
@ -4,11 +4,11 @@ module RPGEngine.Render.Menu
|
|||
|
||||
import RPGEngine.Render.Core ( Renderer )
|
||||
|
||||
import RPGEngine.Data ( Game )
|
||||
import RPGEngine.Data ( State )
|
||||
import Graphics.Gloss (text)
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
-- TODO
|
||||
renderMenu :: Renderer Game
|
||||
renderMenu :: Renderer State
|
||||
renderMenu _ = text "[Press any key to start]"
|
|
@ -4,7 +4,7 @@ module RPGEngine.Render.Paused
|
|||
|
||||
import RPGEngine.Render.Core ( Renderer, overlay )
|
||||
|
||||
import RPGEngine.Data ( Game )
|
||||
import RPGEngine.Data ( State (..) )
|
||||
import Graphics.Gloss ( pictures, scale, text )
|
||||
import RPGEngine.Render.Playing ( renderPlaying )
|
||||
import Graphics.Gloss.Data.Picture (color)
|
||||
|
@ -12,9 +12,10 @@ import Graphics.Gloss.Data.Color (white)
|
|||
|
||||
------------------------------ Exported ------------------------------
|
||||
|
||||
renderPaused :: Renderer Game
|
||||
renderPaused g = pictures [renderPlaying g, pause]
|
||||
where pause = pictures [
|
||||
renderPaused :: Renderer State
|
||||
renderPaused state = pictures [playing, pause]
|
||||
where playing = renderPlaying $ continue state
|
||||
pause = pictures [
|
||||
overlay,
|
||||
color white $ scale 0.5 0.5 $ text "[Press any key to continue]"
|
||||
]
|
|
@ -16,14 +16,17 @@ import RPGEngine.Data
|
|||
import Graphics.Gloss ( Picture, pictures )
|
||||
import Graphics.Gloss.Data.Picture (translate)
|
||||
import RPGEngine.Config (resolution, zoom)
|
||||
import Graphics.Gloss (text)
|
||||
import Graphics.Gloss (blank)
|
||||
|
||||
------------------------------ Exported ------------------------------
|
||||
|
||||
renderPlaying :: Renderer Game
|
||||
renderPlaying g@Game{ state = Playing { level = lvl }, player = player } = pictures [
|
||||
renderPlaying :: Renderer State
|
||||
renderPlaying Playing { level = lvl, player = player } = pictures [
|
||||
renderLevel lvl,
|
||||
renderPlayer player
|
||||
]
|
||||
renderPlaying _ = blank
|
||||
|
||||
------------------------------- Player -------------------------------
|
||||
|
||||
|
@ -35,7 +38,7 @@ renderPlayer Player{ position = (x, y) } = move picture
|
|||
-- Center the player in the middle of the screen.
|
||||
-- Not in use at the moment, might be useful later.
|
||||
focusPlayer :: Game -> Picture -> Picture
|
||||
focusPlayer Game{ player = Player{ position = (x, y)}} = move
|
||||
focusPlayer Game{ state = Playing{ player = Player{ position = (x, y) }}} = move
|
||||
where move = translate centerX centerY
|
||||
centerX = resolution * zoom * fromIntegral (negate x)
|
||||
centerY = resolution * zoom * fromIntegral (negate y)
|
||||
|
|
|
@ -4,11 +4,11 @@ module RPGEngine.Render.Win
|
|||
|
||||
import RPGEngine.Render.Core ( Renderer )
|
||||
|
||||
import RPGEngine.Data ( Game )
|
||||
import RPGEngine.Data ( State )
|
||||
import Graphics.Gloss (text)
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
-- TODO
|
||||
renderWin :: Renderer Game
|
||||
renderWin :: Renderer State
|
||||
renderWin _ = text "Win"
|
Reference in a new issue