Refactor, try to limit dependencies
This commit is contained in:
@@ -1,18 +1,21 @@
|
||||
module Dodge.StartNewGame where
|
||||
import Dodge.Data
|
||||
import Dodge.LevelGen
|
||||
|
||||
import Control.Lens
|
||||
import Dodge.Data.Universe
|
||||
import Dodge.LevelGen
|
||||
import System.Random
|
||||
|
||||
startNewGame :: Universe -> Universe
|
||||
startNewGame u = startSeedGame i u
|
||||
where
|
||||
i = fst $ randomR (0,maxBound) (_randGen (_uvWorld u))
|
||||
i = fst $ randomR (0, maxBound) (_randGen (_uvWorld u))
|
||||
|
||||
startSeedGame :: Int -> Universe -> Universe
|
||||
startSeedGame i u = u
|
||||
& menuLayers .~ [WaitScreen (const "GENERATING...") 1]
|
||||
& uvIOEffects .~ \_ -> do
|
||||
w <- generateWorldFromSeed i
|
||||
return $ u & menuLayers .~ [] & uvWorld .~ w
|
||||
& savedWorlds . at LevelStartSlot ?~ w
|
||||
startSeedGame i u =
|
||||
u
|
||||
& menuLayers .~ [WaitScreen (const "GENERATING...") 1]
|
||||
& uvIOEffects .~ \_ -> do
|
||||
w <- generateWorldFromSeed i
|
||||
return $
|
||||
u & menuLayers .~ [] & uvWorld .~ w
|
||||
& savedWorlds . at LevelStartSlot ?~ w
|
||||
|
||||
Reference in New Issue
Block a user