Move menu layers outside of world
This commit is contained in:
+11
-11
@@ -55,6 +55,7 @@ type CRUpdate = Creature -> World -> (Endo World, Maybe Creature)
|
||||
data Universe = Universe
|
||||
{ _uvWorld :: World
|
||||
, _preloadData :: PreloadData
|
||||
, _menuLayers :: [ScreenLayer]
|
||||
}
|
||||
data World = World
|
||||
{ _keys :: !(S.Set Scancode)
|
||||
@@ -98,7 +99,6 @@ data World = World
|
||||
, _pathGraph :: ~(Gr Point2 Float)
|
||||
, _pathGraphP :: ~[(Point2,Point2)]
|
||||
, _pathPoints :: ~(IM.IntMap (IM.IntMap [(Int,Point2)]))
|
||||
, _menuLayers :: [ScreenLayer]
|
||||
, _worldFlags :: S.Set WorldFlag
|
||||
, _carteDisplay :: !Bool
|
||||
, _carteCenter :: !Point2
|
||||
@@ -129,37 +129,37 @@ data SaveSlot = QuicksaveSlot | LevelStartSlot
|
||||
data OptionScreenFlag = NormalOptions | GameOverOptions
|
||||
data ScreenLayer
|
||||
= OptionScreen
|
||||
{ _scTitle :: World -> String
|
||||
{ _scTitle :: Universe -> String
|
||||
, _scOptions :: [MenuOption]
|
||||
, _scDefaultEff :: World -> Maybe World
|
||||
, _scDefaultEff :: Universe -> Maybe Universe
|
||||
, _scOptionFlag :: OptionScreenFlag
|
||||
}
|
||||
| ColumnsScreen String [(String,String)]
|
||||
| InputScreen String
|
||||
| TerminalScreen Int [(Int,String)]
|
||||
| WaitScreen
|
||||
{ _scWaitMessage :: World -> String
|
||||
{ _scWaitMessage :: Universe -> String
|
||||
, _scWaitTime :: Int
|
||||
}
|
||||
| DisplayScreen
|
||||
{ _scDisplay :: World -> Picture
|
||||
{ _scDisplay :: Universe -> Picture
|
||||
}
|
||||
data MenuOption
|
||||
= Toggle
|
||||
{ _moKey :: Scancode
|
||||
, _moEff :: World -> Maybe World
|
||||
, _moString :: World -> String
|
||||
, _moEff :: Universe -> Maybe Universe
|
||||
, _moString :: Universe -> String
|
||||
}
|
||||
| Toggle2
|
||||
{ _moKey1 :: Scancode
|
||||
, _moEff1 :: World -> Maybe World
|
||||
, _moEff1 :: Universe -> Maybe Universe
|
||||
, _moKey2 :: Scancode
|
||||
, _moEff2 :: World -> Maybe World
|
||||
, _moString :: World -> String
|
||||
, _moEff2 :: Universe -> Maybe Universe
|
||||
, _moString :: Universe -> String
|
||||
}
|
||||
| InvisibleToggle
|
||||
{ _moKey :: Scancode
|
||||
, _moEff :: World -> Maybe World
|
||||
, _moEff :: Universe -> Maybe Universe
|
||||
}
|
||||
data InventoryMode
|
||||
= TopInventory
|
||||
|
||||
Reference in New Issue
Block a user