Add indexed world modifications, example use in flicker lights

This commit is contained in:
2021-11-17 11:24:40 +00:00
parent 559d7e3a23
commit 9db091597d
10 changed files with 110 additions and 32 deletions
+7 -1
View File
@@ -7,11 +7,17 @@ import Dodge.Data
import Dodge.Floor
import Dodge.Layout
import Dodge.Initialisation
import Dodge.RandomHelp
import System.Random
import Control.Lens
import Control.Monad.State
generateWorldFromSeed :: Int -> IO World
generateWorldFromSeed i = do
roomList <- layoutLevelFromSeed 0 i
return $ generateLevelFromRoomList roomList
return $ randomCompass $ generateLevelFromRoomList roomList
initialWorld{_randGen=mkStdGen i}
randomCompass :: World -> World
randomCompass w = w & cameraRot .~ (takeOne [0,0.5*pi,pi,1.5*pi] & evalState $ _randGen w)