{-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE StrictData #-} module Dodge.LevelGen.LevelStructure where import Dodge.LevelGen.Data --import Dodge.Tree.Compose.Data import Dodge.Data --import Data.Tree import qualified Data.IntMap.Strict as IM import Control.Lens --import System.Random data GenWorld = GenWorld { _gWorld :: World , _gPlacements :: IM.IntMap [(Placement,Int)] , _gRooms :: IM.IntMap Room } worldToGenWorld :: IM.IntMap Room -> World -> GenWorld worldToGenWorld rms w = GenWorld { _gWorld = w , _gPlacements = IM.empty , _gRooms = rms } makeLenses ''GenWorld