Reorganise wall placements

This commit is contained in:
2021-11-17 12:35:05 +00:00
parent bcdf0e643c
commit 5949ad2b3d
13 changed files with 32 additions and 31 deletions
+1 -1
View File
@@ -16,7 +16,7 @@ import Dodge.Creature.State.Data
import Dodge.Picture.Layer
import Dodge.Default
import Dodge.Creature.State
import Dodge.LightSources.Lamp
import Dodge.LightSource
import Dodge.WorldEvent.Flash
import Dodge.WorldEvent.Sound
import Dodge.Creature.Update
@@ -1,4 +1,4 @@
module Dodge.LightSources.Lamp
module Dodge.LightSource
( tLightTimedIntensity
, tLight
, lightAt
-2
View File
@@ -1,2 +0,0 @@
module Dodge.LightSources
where
+2
View File
@@ -3,6 +3,7 @@ module Dodge.Placement.Instance
, module Dodge.Placement.Instance.LightSource
, module Dodge.Placement.Instance.LightSource.Cover
, module Dodge.Placement.Instance.Wall
, module Dodge.Placement.Instance.Tank
, module Dodge.Placement.Instance.Button
, module Dodge.Placement.Instance.Turret
, module Dodge.Placement.Instance.Sensor
@@ -11,6 +12,7 @@ module Dodge.Placement.Instance
)
where
import Dodge.Placement.Instance.Door
import Dodge.Placement.Instance.Tank
import Dodge.Placement.Instance.LightSource.Cover
import Dodge.Placement.Instance.LightSource
import Dodge.Placement.Instance.LightSource.Flicker
+1 -1
View File
@@ -1,6 +1,6 @@
module Dodge.Placement.Instance.LightSource where
import Dodge.Data
import Dodge.LightSources.Lamp
import Dodge.LightSource
import Dodge.LevelGen.Data
import Dodge.Room.Foreground
import Geometry
@@ -1,5 +1,4 @@
module Dodge.Room.Furniture
where
module Dodge.Placement.Instance.Tank where
import Dodge.Data
import Dodge.Placement.PlaceSpot
import Dodge.LevelGen.Data
@@ -46,15 +45,6 @@ tankRectCross w h col x y = shiftPlacement (V2 x y,0) $ ps0j
tankSquareCross :: Color -> Float -> Float -> Placement
tankSquareCross = tankRectCross 20 20
lowWall :: [Point2] -> Placement
lowWall ps = ps0j (PutForeground . colorSH col $ upperPrismPoly 30 ps)
$ sps0 $ PutWall ps theWall
where
col = _wlColor defaultWall
theWall = defaultWall
{ _wlOpacity = SeeAbove
, _wlDraw = False
}
tankRect :: Float -> Float -> Color -> Float -> Float -> Placement
tankRect w h col x y = shiftPlacement (V2 x y,0) $ ps0j
+14 -2
View File
@@ -1,13 +1,25 @@
module Dodge.Placement.Instance.Wall
where
import Dodge.Data
import Color
import Geometry
import Dodge.LevelGen.Data
import Dodge.Default.Wall
import Geometry
import Shape
import Color
import Data.List
import Control.Lens
lowWall :: [Point2] -> Placement
lowWall ps = ps0j (PutForeground . colorSH col $ upperPrismPoly 30 ps)
$ sps0 $ PutWall ps theWall
where
col = _wlColor defaultWall
theWall = defaultWall
{ _wlOpacity = SeeAbove
, _wlDraw = False
}
singleBlock :: Point2 -> [Placement]
singleBlock a =
[sPS a 0
+1 -1
View File
@@ -15,7 +15,7 @@ import Dodge.LevelGen.Switch
import Dodge.RandomHelp
import Dodge.Creature.Inanimate
import Dodge.Creature
import Dodge.LightSources.Lamp
import Dodge.LightSource
import Picture
import Geometry
-1
View File
@@ -7,7 +7,6 @@ import Dodge.LevelGen.Data
import Dodge.Room.Link
import Dodge.Placement.Instance
import Dodge.Room.Corridor
import Dodge.Room.Furniture
--import Dodge.LevelGen.Data
--import Dodge.Default.Wall
import Dodge.RandomHelp
+1
View File
@@ -0,0 +1 @@
module Dodge.Room.RunPast where
+8 -9
View File
@@ -9,7 +9,6 @@ import Dodge.Room.Room
import Dodge.Room.Link
import Dodge.Room.Procedural
import Dodge.Room.Foreground
import Dodge.Room.Furniture
import Dodge.Room.RoadBlock
import Dodge.Placement.Instance
import Dodge.Layout.Tree.Polymorphic
@@ -26,6 +25,14 @@ import Control.Lens
import System.Random
--import qualified Data.IntMap.Strict as IM
startRoom :: RandomGen g => State g (Tree (Either Room Room))
startRoom = join $ takeOne
[ rezBoxesWp
, rezBoxesThenWeaponRoom
, rezBoxThenWeaponRoom
, rezBoxesWpCrit
]
rezBox :: LightSource -> Room
rezBox ls = roomRect 40 60 1 1
& rmPmnts .~ [ sPS (V2 20 1) 0 $ PutLS ls]
@@ -65,14 +72,6 @@ rezBoxThenWeaponRoom = do
rcol <- rezColor
treeFromTrunk [Left $ rezBox rcol,Left door] <$> weaponRoom
startRoom :: RandomGen g => State g (Tree (Either Room Room))
startRoom = join $ takeOne
[ rezBoxesWp
, rezBoxesThenWeaponRoom
, rezBoxThenWeaponRoom
, rezBoxesWpCrit
]
rezBoxesWpCrit :: RandomGen g => State g (Tree (Either Room Room))
rezBoxesWpCrit = do
w <- state $ randomR (200,400)
+1 -1
View File
@@ -16,7 +16,7 @@ import Dodge.WorldEvent.Cloud
import Dodge.WorldEvent.HitEffect
import Dodge.WorldEvent.Explosion
import Dodge.WorldEvent.SpawnParticle
import Dodge.LightSources.Lamp
import Dodge.LightSource
import Dodge.Creature.State.Data
import Dodge.Data
import Geometry
+1 -1
View File
@@ -18,7 +18,7 @@ module Dodge.WorldEvent.Flash
)
where
import Dodge.Data
import Dodge.LightSources.Lamp
import Dodge.LightSource
import Dodge.WorldEvent.HelperParticle
import Dodge.Default
import Picture