Move towards scrapping separate GenWorld, merging into World
This commit is contained in:
@@ -9,7 +9,7 @@ import Shape.Data
|
||||
import Data.Tile
|
||||
|
||||
import qualified Data.Set as S
|
||||
import qualified Data.Map.Strict as M
|
||||
--import qualified Data.Map.Strict as M
|
||||
import Control.Lens
|
||||
import Control.Monad.State
|
||||
import System.Random
|
||||
@@ -170,19 +170,11 @@ data RoomPosType
|
||||
| RoomPosExLink
|
||||
| RoomPosLab Int
|
||||
deriving (Eq,Ord,Show)
|
||||
data DecorationShape = PlusDecoration | SquareDecoration | CircleDecoration
|
||||
| ThreeLineDecoration
|
||||
deriving (Eq,Ord,Enum,Show)
|
||||
|
||||
newtype GenParams = GenParams
|
||||
{ _sensorCoding :: M.Map DamageType (PaletteColor,DecorationShape)
|
||||
}
|
||||
|
||||
data GenWorld = GenWorld
|
||||
{ _gWorld :: World
|
||||
, _gPlacements :: IM.IntMap [(Placement,Int)]
|
||||
, _gRooms :: IM.IntMap Room
|
||||
, _gParams :: GenParams
|
||||
}
|
||||
|
||||
makeLenses ''Room
|
||||
@@ -195,7 +187,6 @@ makeLenses ''RoomPos
|
||||
makeLenses ''RoomPosType
|
||||
makeLenses ''RPLinkStatus
|
||||
makeLenses ''GenWorld
|
||||
makeLenses ''GenParams
|
||||
|
||||
spNoID :: PlacementSpot -> PSType -> Placement
|
||||
spNoID ps pst = Placement ps pst Nothing Nothing (const Nothing)
|
||||
|
||||
@@ -9,6 +9,7 @@ import Dodge.LevelGen.Data
|
||||
import Dodge.Data
|
||||
import Dodge.RandomHelp
|
||||
import Color
|
||||
import LensHelp
|
||||
|
||||
--import Data.Tree
|
||||
import qualified Data.IntMap.Strict as IM
|
||||
@@ -19,11 +20,12 @@ import System.Random
|
||||
|
||||
worldToGenWorld :: IM.IntMap Room -> World -> GenWorld
|
||||
worldToGenWorld rms w = GenWorld
|
||||
{ _gWorld = w
|
||||
{ _gWorld = w & genParams .~ gparams
|
||||
, _gPlacements = IM.empty
|
||||
, _gRooms = rms
|
||||
, _gParams = evalState generateGenParams (_randGen w)
|
||||
}
|
||||
where
|
||||
gparams = evalState generateGenParams (_randGen w)
|
||||
|
||||
generateGenParams :: RandomGen g => State g GenParams
|
||||
generateGenParams = do
|
||||
|
||||
Reference in New Issue
Block a user