Simplify doors somewhat, unsure what to do about edge obstacles
This commit is contained in:
@@ -7,7 +7,6 @@ module Dodge.Placement.PlaceSpot.TriggerDoor (
|
||||
import Dodge.ShiftPoint
|
||||
import Linear
|
||||
import Dodge.Data.GenWorld
|
||||
import qualified Data.IntSet as IS
|
||||
import Data.List
|
||||
import Dodge.Default.Door
|
||||
import Dodge.LevelGen.DoorPane
|
||||
@@ -36,14 +35,13 @@ plDoor col eo cond l p1 p2 gw = (drid, over gwWorld addWalls $ gw & gwWorld . cW
|
||||
IM.insert drid $
|
||||
defaultDoor
|
||||
{ _drID = drid
|
||||
, _drWallIDs = IS.fromList wlids
|
||||
-- , _drWallIDs = IS.fromList wlids
|
||||
, _drTrigger = cond
|
||||
, _drMech = DoorLerp
|
||||
, _drZeroPos = p1
|
||||
, _drOnePos = p2
|
||||
, _drLerp = 0
|
||||
, _drFootPrint = IM.fromList . zip wlids $ wlps'
|
||||
, _drObstacleType = eo
|
||||
, _drSpeed = 0.01
|
||||
}
|
||||
-- nsteps = length pss - 1
|
||||
@@ -96,13 +94,12 @@ plSlideDoor dr wl eo shiftOffset a b gw =
|
||||
IM.insert drid $
|
||||
dr
|
||||
{ _drID = drid
|
||||
, _drWallIDs = IS.fromList wlids
|
||||
-- , _drWallIDs = IS.fromList wlids
|
||||
, _drMech = DoorLerp
|
||||
, _drZeroPos = (a, 0)
|
||||
, _drOnePos = (shiftLeft a, 0)
|
||||
, _drLerp = 0
|
||||
, _drFootPrint = IM.fromList $ zip wlids $ rectanglePairs 9 0 (b-a)
|
||||
, _drObstacleType = eo
|
||||
, _drSpeed = 1 / distance a (shiftLeft a)
|
||||
}
|
||||
addDoorWalls w' = foldl' (addDoorWall eo drid wl) w' $ zip wlids pairs
|
||||
|
||||
Reference in New Issue
Block a user