Put controls on separate menu screen
This commit is contained in:
@@ -19,6 +19,7 @@ handlePressedKeyInMenu mState scode w = case mState of
|
||||
LevelMenu _ -> case scode of
|
||||
ScancodeEscape -> Nothing
|
||||
ScancodeO -> goToOptionMenu w
|
||||
ScancodeC -> goToControls w
|
||||
_ -> startLevel w
|
||||
PauseMenu -> case scode of
|
||||
ScancodeEscape -> Nothing
|
||||
@@ -26,6 +27,7 @@ handlePressedKeyInMenu mState scode w = case mState of
|
||||
ScancodeN -> Just $ putSound $ generateLevel 1
|
||||
$ initialWorld {_randGen = _randGen w}
|
||||
ScancodeO -> goToOptionMenu w
|
||||
ScancodeC -> goToControls w
|
||||
_ -> unpause w
|
||||
GameOverMenu -> case scode of
|
||||
ScancodeEscape -> Nothing
|
||||
@@ -34,6 +36,7 @@ handlePressedKeyInMenu mState scode w = case mState of
|
||||
$ initialWorld
|
||||
{_randGen = _randGen w}
|
||||
ScancodeO -> goToOptionMenu w
|
||||
ScancodeC -> goToControls w
|
||||
_ -> Just w
|
||||
OptionMenu -> case scode of
|
||||
ScancodeY -> Just $ w & config . volume_master %~ dec
|
||||
@@ -44,6 +47,7 @@ handlePressedKeyInMenu mState scode w = case mState of
|
||||
ScancodeM -> Just $ w & config . volume_music %~ inc
|
||||
_ -> Just $ w & menuLayers %~ ([ConfigSaveScreen , ConfigSaveScreen] ++) . tail
|
||||
& configNeedsUpdate .~ False
|
||||
ControlList -> Just $ w & menuLayers %~ tail
|
||||
_ -> Just w
|
||||
where
|
||||
unpause w' = Just . resumeSound $
|
||||
@@ -54,6 +58,7 @@ handlePressedKeyInMenu mState scode w = case mState of
|
||||
inc x = min 1 (x + 0.1)
|
||||
goToOptionMenu w = Just $ w & menuLayers %~ (OptionMenu :)
|
||||
& configNeedsUpdate .~ True
|
||||
goToControls w = Just $ w & menuLayers %~ (ControlList :)
|
||||
|
||||
storeLevel :: World -> World
|
||||
storeLevel w = case _storedLevel w of
|
||||
|
||||
Reference in New Issue
Block a user