Fix reloading of start of level
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
module Dodge.Save
|
||||
where
|
||||
import Dodge.Data
|
||||
|
||||
import Data.Maybe
|
||||
import Control.Lens
|
||||
import qualified Data.Set as S
|
||||
|
||||
storeLevel :: World -> World
|
||||
storeLevel w = case _storedLevel w of
|
||||
Nothing -> w & storedLevel ?~ clearKeys w
|
||||
_ -> w
|
||||
|
||||
loadStoredLevel :: World -> World
|
||||
loadStoredLevel w = fromMaybe w $ _storedLevel w
|
||||
|
||||
doQuicksave :: World -> World
|
||||
doQuicksave w = w & quicksaveLevel ?~ clearKeys w
|
||||
|
||||
clearKeys :: World -> World
|
||||
clearKeys = (keys .~ S.empty) . (mouseButtons .~ S.empty)
|
||||
Reference in New Issue
Block a user