Move towards unifying RoomPos constructors
This commit is contained in:
+43
-21
@@ -116,39 +116,60 @@ data CardinalPoint
|
||||
data RoomWire
|
||||
= --RoomWire Point2 Float
|
||||
WallWire Point2 Float Float
|
||||
|
||||
data RPLinkStatus
|
||||
= UsedAsOutLink
|
||||
{ _rplsType :: S.Set RoomLinkType
|
||||
, _rplsChildNum :: Int
|
||||
, _rplsOutRoomID :: Int
|
||||
}
|
||||
| UsedAsInLink
|
||||
{ _rplsType :: S.Set RoomLinkType
|
||||
, _rplsInRoomID :: Int
|
||||
}
|
||||
| UnusedAsLink { _rplsType :: S.Set RoomLinkType }
|
||||
| NotLink
|
||||
deriving (Eq,Ord,Show)
|
||||
|
||||
data RoomPos
|
||||
= UsedOutLink
|
||||
{_rpChildNum :: Int
|
||||
,_rpOutRoomID :: Int
|
||||
,_rpPos :: Point2
|
||||
,_rpDir :: Float
|
||||
,_rpLinkType :: S.Set RoomLinkType
|
||||
{ _rpChildNum :: Int
|
||||
, _rpOutRoomID :: Int
|
||||
, _rpPos :: Point2
|
||||
, _rpDir :: Float
|
||||
, _rpLinkType :: S.Set RoomLinkType
|
||||
, _rpLinkStatus :: RPLinkStatus
|
||||
}
|
||||
| UsedInLink
|
||||
{_rpInRoomID :: Int
|
||||
,_rpPos :: Point2
|
||||
,_rpDir :: Float
|
||||
,_rpLinkType :: S.Set RoomLinkType
|
||||
{ _rpInRoomID :: Int
|
||||
, _rpPos :: Point2
|
||||
, _rpDir :: Float
|
||||
, _rpLinkType :: S.Set RoomLinkType
|
||||
, _rpLinkStatus :: RPLinkStatus
|
||||
}
|
||||
| UnusedLink
|
||||
{_rpPos :: Point2
|
||||
,_rpDir ::Float
|
||||
,_rpLinkType :: S.Set RoomLinkType
|
||||
{ _rpPos :: Point2
|
||||
, _rpDir ::Float
|
||||
, _rpLinkType :: S.Set RoomLinkType
|
||||
, _rpLinkStatus :: RPLinkStatus
|
||||
}
|
||||
| UsedLink
|
||||
{_rpPos :: Point2
|
||||
,_rpDir :: Float
|
||||
,_rpLinkType :: S.Set RoomLinkType
|
||||
{ _rpPos :: Point2
|
||||
, _rpDir :: Float
|
||||
, _rpLinkType :: S.Set RoomLinkType
|
||||
, _rpLinkStatus :: RPLinkStatus
|
||||
}
|
||||
| UsedSpot
|
||||
{_rpPos :: Point2
|
||||
,_rpDir :: Float
|
||||
,_rpType :: S.Set RoomPosType
|
||||
{ _rpPos :: Point2
|
||||
, _rpDir :: Float
|
||||
, _rpType :: S.Set RoomPosType
|
||||
, _rpLinkStatus :: RPLinkStatus
|
||||
}
|
||||
| UnusedSpot
|
||||
{_rpPos :: Point2
|
||||
,_rpDir :: Float
|
||||
,_rpType :: S.Set RoomPosType
|
||||
{ _rpPos :: Point2
|
||||
, _rpDir :: Float
|
||||
, _rpType :: S.Set RoomPosType
|
||||
, _rpLinkStatus :: RPLinkStatus
|
||||
}
|
||||
deriving (Eq,Ord,Show)
|
||||
|
||||
@@ -165,6 +186,7 @@ makeLenses ''Placement
|
||||
makeLenses ''RoomLink
|
||||
makeLenses ''RoomPos
|
||||
makeLenses ''RoomPosType
|
||||
makeLenses ''RPLinkStatus
|
||||
|
||||
spNoID :: PlacementSpot -> PSType -> Placement
|
||||
spNoID ps pst = Placement ps pst Nothing (const Nothing)
|
||||
|
||||
Reference in New Issue
Block a user