First implementation of doors that lerp position/float pairs
This commit is contained in:
+7
-7
@@ -72,15 +72,15 @@ doorLerp dr w = case newlerp of
|
||||
wlposs x = (dr ^. drFootPrint) & each . each %~ shiftPointBy (p2a x)
|
||||
clerp = dr ^. drLerp
|
||||
newlerp
|
||||
| toOpen && clerp < 1 = Just . min 1 $ clerp + 0.1
|
||||
| clerp > 0 = Just . max 1 $ clerp - 0.1
|
||||
| toOpen && clerp < 1 = Just . min 1 $ clerp + speed
|
||||
| clerp > 0 && not toOpen = Just . max 0 $ clerp - speed
|
||||
| otherwise = Nothing
|
||||
toOpen = doWdBl (_drTrigger dr) w
|
||||
mvDir
|
||||
| toOpen && _drStatus dr == DoorOpen = Nothing -- Not sure why necessary
|
||||
| toOpen && dist dpos dop > 0.5 = Just $ vecBetweenSpeed speed dpos dop
|
||||
| dist dpos dcp > 0.5 = Just $ vecBetweenSpeed speed dpos dcp
|
||||
| otherwise = Nothing
|
||||
-- mvDir
|
||||
-- | toOpen && _drStatus dr == DoorOpen = Nothing -- Not sure why necessary
|
||||
-- | toOpen && dist dpos dop > 0.5 = Just $ vecBetweenSpeed speed dpos dop
|
||||
-- | dist dpos dcp > 0.5 = Just $ vecBetweenSpeed speed dpos dcp
|
||||
-- | otherwise = Nothing
|
||||
speed = _drSpeed dr
|
||||
drid = _drID dr
|
||||
moveUpdate = playSound . setStatus
|
||||
|
||||
Reference in New Issue
Block a user