Fix glassLesson room

This commit is contained in:
2022-03-07 10:42:07 +00:00
parent 81830d87a3
commit 79b5241c32
5 changed files with 78 additions and 27 deletions
+15
View File
@@ -21,9 +21,24 @@ restrictInLinks = over rmLinks . restrictLinkType InLink
restrictOutLinks :: ((Point2,Float) -> Bool) -> Room -> Room
restrictOutLinks f = rmLinks %~ restrictLinkType OutLink f
addLabelLink :: Int -> (RoomLink -> Bool) -> [RoomLink] -> [RoomLink]
addLabelLink i t = map f
where
f rl | t rl = rl & rlType %~ S.insert (LabLink i)
| otherwise = rl
setOutLinks :: (RoomLink -> Bool) -> [RoomLink] -> [RoomLink]
setOutLinks = setLinkType OutLink
setInLinks :: (RoomLink -> Bool) -> [RoomLink] -> [RoomLink]
setInLinks = setLinkType InLink
setInLinksByType :: RoomLinkType -> [RoomLink] -> [RoomLink]
setInLinksByType lt = setInLinks (\rl -> lt `S.member` _rlType rl)
setOutLinksByType :: RoomLinkType -> [RoomLink] -> [RoomLink]
setOutLinksByType lt = setOutLinks (\rl -> lt `S.member` _rlType rl)
setLinkType :: RoomLinkType -> (RoomLink -> Bool) -> [RoomLink] -> [RoomLink]
setLinkType rlt f = map g
where