Work on menus

This commit is contained in:
2022-11-22 10:14:25 +00:00
parent 054405244f
commit 860d63df45
13 changed files with 251 additions and 167 deletions
+7 -6
View File
@@ -12,6 +12,7 @@ module Dodge.Data.Universe (
module Loop.Data,
) where
import Dodge.Data.SelectionList
import Control.Lens
--import qualified Data.Map.Strict as M
import Data.Preload
@@ -21,7 +22,7 @@ import Dodge.Data.Config
import Dodge.Data.World
import Loop.Data
import Picture.Data
import SDL (Scancode)
--import SDL (Scancode)
data Universe = Universe
{ _uvWorld :: World
@@ -48,15 +49,14 @@ data OptionScreenFlag = NormalOptions | GameOverOptions | SplashOptions
data ScreenLayer
= OptionScreen
{ _scTitle :: Universe -> String
{ _scTitle :: String
, _scOptions :: [MenuOption]
, _scDefaultEff :: Universe -> Universe
, _scMaybeOption :: Maybe MenuOption
, _scOptionFlag :: OptionScreenFlag
, _scOptionsOffset :: Int
, _scSelPos :: Maybe Int
, _scSelectionList :: SelectionList
}
| ColumnsScreen
{ _scTitle :: Universe -> String
{ _scTitle :: String
, _scColumns :: [(String, String)]
}
| InputScreen
@@ -94,3 +94,4 @@ makeLenses ''Universe
makeLenses ''ScreenLayer
makeLenses ''SideEffect
makeLenses ''MenuOptionDisplay
makeLenses ''MenuOption