Simplify room out/in placements
This commit is contained in:
@@ -9,6 +9,7 @@ import Dodge.Default.Room
|
||||
import Dodge.Placement.Instance
|
||||
import Dodge.RoomLink
|
||||
import Geometry
|
||||
import Control.Lens
|
||||
|
||||
door :: Room
|
||||
door =
|
||||
@@ -28,17 +29,19 @@ door =
|
||||
]
|
||||
|
||||
triggerDoorRoom :: Int -> Room
|
||||
triggerDoorRoom inplid =
|
||||
triggerDoorRoom i =
|
||||
defaultRoom
|
||||
{ _rmPolys = [rectNSWE 40 0 0 40]
|
||||
, _rmLinks = [uncurry outLink (V2 20 35, 0), uncurry inLink (V2 20 5, pi)]
|
||||
, _rmPath = doublePairSet (V2 20 35, V2 20 5)
|
||||
, _rmInPmnt = [InPlacement f inplid]
|
||||
, _rmInPmnt = [f]
|
||||
, _rmName = "triggerDoorRoom"
|
||||
-- door extends into side walls (for shadows as rendered 12/03/21)
|
||||
-- note no bounds
|
||||
}
|
||||
where
|
||||
f _ (pmnt : _) = putDoubleDoor DoorObstacle (switchWallCol red) (cond pmnt) (V2 0 20) (V2 40 20) 2
|
||||
f _ _ = error "tried to put a door using an empty placement list"
|
||||
f gw = fromMaybe (error "tried to put a door using an empty placement list") $ do
|
||||
pmnt <- gw ^? genPmnt . ix i . _head
|
||||
return $ putDoubleDoor
|
||||
DoorObstacle (switchWallCol red) (cond pmnt) (V2 0 20) (V2 40 20) 2
|
||||
cond pmnt = WdTrig $ fromJust (_plMID pmnt)
|
||||
|
||||
Reference in New Issue
Block a user