Remove _plGenUpdate field, instead allow Placements to take World arg

This commit is contained in:
2022-06-02 20:00:03 +01:00
parent 7c4a853d70
commit 024f72da20
13 changed files with 54 additions and 53 deletions
+3 -3
View File
@@ -71,7 +71,7 @@ setFloors = putFloorTiles . setTiles
-- hence the reverse
-- this is not ideal: should do this in some more sensible way
setTiles :: World -> World
setTiles gw = foldr setTile gw . reverse . IM.elems $ _genRooms $ gw
setTiles gw = foldr setTile gw . reverse . IM.elems $ _genRooms gw
setTile :: Room -> World -> World
setTile r gw = case _rmFloor r of
@@ -89,7 +89,7 @@ shuffleRoomPos rm = do
return $ rm & rmPos .~ newPos
placeWires :: World -> World
placeWires w = foldr placeRoomWires ( w) (_genRooms w)
placeWires w = foldr placeRoomWires w (_genRooms w)
placeRoomWires :: Room -> World -> World
placeRoomWires rm w = IM.foldr ($) w
@@ -123,7 +123,7 @@ doAfterPlacements gw = foldr doAfterPlacement gw (_genPlacements gw)
doAfterPlacement :: [(Placement,Int)] -> World -> World
doAfterPlacement pmntis gw = gRandify gw $ do
(pmnt,i) <- takeOne pmntis
let (newgw,rm) = fst $ placeSpot (gw,_genRooms ( gw) IM.! i) pmnt
let (newgw,rm) = fst $ placeSpot (gw,_genRooms gw IM.! i) pmnt
return $ newgw & genRooms . ix i .~ rm
doInPlacements :: ( IM.IntMap [Placement],World) -> World