Work on airlocks
This commit is contained in:
@@ -35,24 +35,24 @@ cenLasTur =
|
||||
covershape = rectNSWE 10 (-10) (-20) 20
|
||||
|
||||
lightSensInsideDoor :: Int -> Room -> Room
|
||||
lightSensInsideDoor outplid rm =
|
||||
lightSensInsideDoor i rm =
|
||||
rm
|
||||
& rmPmnts
|
||||
.++~ [ psPt atFstLnkOut (PutForeground $ floorWire (V2 20 0) (V2 20 (-100)))
|
||||
, psPt atFstLnkOut (PutForeground $ floorWire (V2 0 (-100)) (V2 20 (-100)))
|
||||
, psPt atFstLnkOut (PutForeground $ verticalWire (V2 20 0) 0 80)
|
||||
]
|
||||
& rmOutPmnt .~ [OutPlacement (sensAboveDoor LaserSensor 10 (atFstLnkOutShiftInward 100)) outplid]
|
||||
& rmOutPmnt . at i ?~ (sensAboveDoor LaserSensor 10 (atFstLnkOutShiftInward 100))
|
||||
|
||||
lightSensByDoor :: Int -> Room -> Room
|
||||
lightSensByDoor outplid rm =
|
||||
lightSensByDoor i rm =
|
||||
rm
|
||||
& rmPmnts
|
||||
.++~ [ psPt atFstLnkOut $ PutForeground $ verticalWire (V2 20 0) 0 80
|
||||
, heightWallPS (atNthLnkOutShiftInward 1 100) 30 covershape
|
||||
, heightWallPS (atFstLnkOutShiftInward 100) 30 covershape
|
||||
]
|
||||
& rmOutPmnt .~ [OutPlacement (sensAboveDoor LaserSensor 20 (atFstLnkOutShiftBy sensorshift)) outplid]
|
||||
& rmOutPmnt . at i ?~ (sensAboveDoor LaserSensor 20 (atFstLnkOutShiftBy sensorshift))
|
||||
where
|
||||
covershape = rectNSWE 10 (-10) (-20) 20
|
||||
sensorshift (p, a) = (p +.+ rotateV a (V2 60 (-20)), a)
|
||||
@@ -76,21 +76,19 @@ healthAnalyserByDoor :: Int -> Room -> Room
|
||||
healthAnalyserByDoor = analyserByDoor (RequireHealth 1100)
|
||||
|
||||
analyserByNthLink :: Int -> ProximityRequirement -> Int -> Room -> Room
|
||||
analyserByNthLink n proxreq outplid rm =
|
||||
analyserByNthLink n proxreq i rm =
|
||||
rm
|
||||
& rmPmnts
|
||||
.++~ [ psPt (atNthLinkOut n) $ PutForeground $ verticalWire (V2 20 0) 0 80
|
||||
]
|
||||
& rmOutPmnt
|
||||
.:~ OutPlacement
|
||||
& rmOutPmnt . at i ?~
|
||||
( analyser
|
||||
proxreq
|
||||
(atNthLnkOutShiftBy n (\(p, a) -> (p +.+ rotateV a (V2 18.5 (-2.5)), a)))
|
||||
(atNthLnkOutShiftBy n sensorshift)
|
||||
)
|
||||
outplid
|
||||
where
|
||||
sensorshift (p, a) = (p +.+ rotateV a (V2 30 (-10)), a)
|
||||
sensorshift (p, a) = (p +.+ rotateV a (V2 (-30) (-10)), a)
|
||||
|
||||
analyserByDoor :: ProximityRequirement -> Int -> Room -> Room
|
||||
analyserByDoor = analyserByNthLink 0
|
||||
|
||||
Reference in New Issue
Block a user