Cleanup, fix menu lock on restarting level after game over

This commit is contained in:
2021-12-06 23:44:10 +00:00
parent 19540bd19e
commit 763b771928
18 changed files with 88 additions and 119 deletions
+4 -3
View File
@@ -2,8 +2,7 @@ module Dodge.Save
( saveWorldInEmptySlot
, loadSaveSlot
, doQuicksave
)
where
) where
import Dodge.Data
import qualified Data.Map.Strict as M
@@ -20,7 +19,9 @@ saveWorldInSlot :: SaveSlot -> Universe -> Universe
saveWorldInSlot slot w = w & savedWorlds %~ M.insert slot (clearKeys (_uvWorld w))
loadSaveSlot :: SaveSlot -> Universe -> Universe
loadSaveSlot slot u = maybe u (\w -> u & uvWorld .~ w) $ M.lookup slot (_savedWorlds u)
loadSaveSlot slot u = maybe u
(\w -> u & menuLayers .~ [] & uvWorld .~ w)
$ M.lookup slot (_savedWorlds u)
doQuicksave :: Universe -> Universe
doQuicksave = saveWorldInSlot QuicksaveSlot