Add menu option to start new game from seed, uses system clipboard

This commit is contained in:
2021-12-09 14:36:26 +00:00
parent eeda4f3e39
commit 24a0cc289f
13 changed files with 101 additions and 54 deletions
+7 -1
View File
@@ -2,6 +2,7 @@ module Dodge.Save
( saveWorldInEmptySlot
, loadSaveSlot
, doQuicksave
, saveLevelStartSlot
) where
import Dodge.Data
@@ -16,7 +17,7 @@ saveWorldInEmptySlot slot w = case M.lookup slot $ _savedWorlds w of
_ -> w
saveWorldInSlot :: SaveSlot -> Universe -> Universe
saveWorldInSlot slot w = w & savedWorlds %~ M.insert slot (clearKeys (_uvWorld w))
saveWorldInSlot slot u = u & savedWorlds %~ M.insert slot (clearKeys (_uvWorld u))
loadSaveSlot :: SaveSlot -> Universe -> Universe
loadSaveSlot slot u = maybe u
@@ -28,3 +29,8 @@ doQuicksave = saveWorldInSlot QuicksaveSlot
clearKeys :: World -> World
clearKeys = (keys .~ S.empty) . (mouseButtons .~ S.empty)
saveLevelStartSlot :: World -> World
--saveLevelStartSlot = id
saveLevelStartSlot = sideEffects %~ (fmap (saveWorldInSlot LevelStartSlot) . )
--saveLevelStartSlot = sideEffects %~ (fmap (undefined) . )