Move saved worlds outside of world into universe
This commit is contained in:
+8
-10
@@ -11,23 +11,21 @@ import Data.Maybe
|
||||
import Control.Lens
|
||||
import qualified Data.Set as S
|
||||
|
||||
clearSaves :: World -> World
|
||||
clearSaves :: Universe -> Universe
|
||||
clearSaves = savedWorlds .~ M.empty
|
||||
|
||||
saveWorldInEmptySlot :: SaveSlot -> World -> World
|
||||
saveWorldInEmptySlot :: SaveSlot -> Universe -> Universe
|
||||
saveWorldInEmptySlot slot w = case M.lookup slot $ _savedWorlds w of
|
||||
Nothing -> w & savedWorlds %~ M.insert slot (clearKeys w)
|
||||
Nothing -> w & savedWorlds %~ M.insert slot (clearKeys (_uvWorld w))
|
||||
_ -> w
|
||||
|
||||
saveWorldInSlot :: SaveSlot -> World -> World
|
||||
saveWorldInSlot slot w = w & savedWorlds %~ M.insert slot (clearSaves $ clearKeys w)
|
||||
saveWorldInSlot :: SaveSlot -> Universe -> Universe
|
||||
saveWorldInSlot slot w = w & savedWorlds %~ M.insert slot (clearKeys (_uvWorld w))
|
||||
|
||||
loadSaveSlot :: SaveSlot -> World -> World
|
||||
loadSaveSlot slot w = fromMaybe w
|
||||
$ M.lookup slot (_savedWorlds w)
|
||||
<&> savedWorlds .~ _savedWorlds w -- keep saves from current point, not from save point
|
||||
loadSaveSlot :: SaveSlot -> Universe -> Universe
|
||||
loadSaveSlot slot u = maybe u (\w -> u & uvWorld .~ w) $ M.lookup slot (_savedWorlds u)
|
||||
|
||||
doQuicksave :: World -> World
|
||||
doQuicksave :: Universe -> Universe
|
||||
doQuicksave = saveWorldInSlot QuicksaveSlot
|
||||
|
||||
clearKeys :: World -> World
|
||||
|
||||
Reference in New Issue
Block a user