Work on saving/loading concurrently
This commit is contained in:
+16
-11
@@ -21,17 +21,21 @@ import SDL (Scancode)
|
||||
data Universe = Universe
|
||||
{ _uvWorld :: World
|
||||
, _preloadData :: PreloadData
|
||||
, _menuLayers :: [ScreenLayer]
|
||||
, _uvScreenLayers :: [ScreenLayer]
|
||||
, _quickSave :: Maybe World
|
||||
, _uvIOEffects :: Universe -> IO Universe
|
||||
, _uvConcEffects :: Maybe (IO (Universe -> Universe))
|
||||
, _uvConcEffects :: ConcEffect
|
||||
, _uvConfig :: Configuration
|
||||
, _uvTestString :: Universe -> [String]
|
||||
, _uvConcMessage :: String
|
||||
}
|
||||
|
||||
data ConcEffect = NoConcEffect
|
||||
| NewConcEffect {_ceFunction :: (Universe -> Universe, IO (Universe -> Maybe Universe))
|
||||
, _ceString :: String, _ceIsBlocking :: Bool}
|
||||
| BlockingConcEffect {_ceString :: String}
|
||||
| BackgroundConcEffect {_ceString :: String}
|
||||
|
||||
data OptionScreenFlag = NormalOptions | GameOverOptions
|
||||
data OptionScreenFlag = NormalOptions | GameOverOptions | SplashOptions
|
||||
deriving (Eq, Ord, Show, Read)
|
||||
|
||||
data ScreenLayer
|
||||
@@ -50,13 +54,13 @@ data ScreenLayer
|
||||
{ _scInput :: T.Text
|
||||
, _scFooter :: String
|
||||
}
|
||||
| WaitScreen
|
||||
{ _scWaitMessage :: Universe -> String
|
||||
, _scWaitTime :: Int
|
||||
}
|
||||
| DisplayScreen
|
||||
{ _scDisplay :: Universe -> Picture
|
||||
}
|
||||
-- | WaitScreen
|
||||
-- { _scWaitMessage :: Universe -> String
|
||||
-- , _scWaitTime :: Int
|
||||
-- }
|
||||
-- | DisplayScreen
|
||||
-- { _scDisplay :: Universe -> Picture
|
||||
-- }
|
||||
|
||||
data MenuOption
|
||||
= Toggle
|
||||
@@ -80,3 +84,4 @@ data IntID a = IntID Int a
|
||||
|
||||
makeLenses ''Universe
|
||||
makeLenses ''ScreenLayer
|
||||
makeLenses ''ConcEffect
|
||||
|
||||
@@ -42,13 +42,8 @@ data World = World
|
||||
, _backspaceTimer :: Int
|
||||
, _timeFlow :: TimeFlowStatus
|
||||
, _rbOptions :: RightButtonOptions
|
||||
, _gameSlot :: GameSlot
|
||||
}
|
||||
|
||||
data GameSlot = GameNum Int
|
||||
| GameLoading SaveSlot
|
||||
| GameStartScreen
|
||||
|
||||
data TimeFlowStatus
|
||||
= RewindingNow
|
||||
| RewindingLastFrame
|
||||
|
||||
Reference in New Issue
Block a user