Reorganise wall placements
This commit is contained in:
@@ -16,7 +16,7 @@ import Dodge.Creature.State.Data
|
|||||||
import Dodge.Picture.Layer
|
import Dodge.Picture.Layer
|
||||||
import Dodge.Default
|
import Dodge.Default
|
||||||
import Dodge.Creature.State
|
import Dodge.Creature.State
|
||||||
import Dodge.LightSources.Lamp
|
import Dodge.LightSource
|
||||||
import Dodge.WorldEvent.Flash
|
import Dodge.WorldEvent.Flash
|
||||||
import Dodge.WorldEvent.Sound
|
import Dodge.WorldEvent.Sound
|
||||||
import Dodge.Creature.Update
|
import Dodge.Creature.Update
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
module Dodge.LightSources.Lamp
|
module Dodge.LightSource
|
||||||
( tLightTimedIntensity
|
( tLightTimedIntensity
|
||||||
, tLight
|
, tLight
|
||||||
, lightAt
|
, lightAt
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
module Dodge.LightSources
|
|
||||||
where
|
|
||||||
@@ -3,6 +3,7 @@ module Dodge.Placement.Instance
|
|||||||
, module Dodge.Placement.Instance.LightSource
|
, module Dodge.Placement.Instance.LightSource
|
||||||
, module Dodge.Placement.Instance.LightSource.Cover
|
, module Dodge.Placement.Instance.LightSource.Cover
|
||||||
, module Dodge.Placement.Instance.Wall
|
, module Dodge.Placement.Instance.Wall
|
||||||
|
, module Dodge.Placement.Instance.Tank
|
||||||
, module Dodge.Placement.Instance.Button
|
, module Dodge.Placement.Instance.Button
|
||||||
, module Dodge.Placement.Instance.Turret
|
, module Dodge.Placement.Instance.Turret
|
||||||
, module Dodge.Placement.Instance.Sensor
|
, module Dodge.Placement.Instance.Sensor
|
||||||
@@ -11,6 +12,7 @@ module Dodge.Placement.Instance
|
|||||||
)
|
)
|
||||||
where
|
where
|
||||||
import Dodge.Placement.Instance.Door
|
import Dodge.Placement.Instance.Door
|
||||||
|
import Dodge.Placement.Instance.Tank
|
||||||
import Dodge.Placement.Instance.LightSource.Cover
|
import Dodge.Placement.Instance.LightSource.Cover
|
||||||
import Dodge.Placement.Instance.LightSource
|
import Dodge.Placement.Instance.LightSource
|
||||||
import Dodge.Placement.Instance.LightSource.Flicker
|
import Dodge.Placement.Instance.LightSource.Flicker
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
module Dodge.Placement.Instance.LightSource where
|
module Dodge.Placement.Instance.LightSource where
|
||||||
import Dodge.Data
|
import Dodge.Data
|
||||||
import Dodge.LightSources.Lamp
|
import Dodge.LightSource
|
||||||
import Dodge.LevelGen.Data
|
import Dodge.LevelGen.Data
|
||||||
import Dodge.Room.Foreground
|
import Dodge.Room.Foreground
|
||||||
import Geometry
|
import Geometry
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
module Dodge.Room.Furniture
|
module Dodge.Placement.Instance.Tank where
|
||||||
where
|
|
||||||
import Dodge.Data
|
import Dodge.Data
|
||||||
import Dodge.Placement.PlaceSpot
|
import Dodge.Placement.PlaceSpot
|
||||||
import Dodge.LevelGen.Data
|
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 :: Color -> Float -> Float -> Placement
|
||||||
tankSquareCross = tankRectCross 20 20
|
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 :: Float -> Float -> Color -> Float -> Float -> Placement
|
||||||
tankRect w h col x y = shiftPlacement (V2 x y,0) $ ps0j
|
tankRect w h col x y = shiftPlacement (V2 x y,0) $ ps0j
|
||||||
@@ -1,13 +1,25 @@
|
|||||||
module Dodge.Placement.Instance.Wall
|
module Dodge.Placement.Instance.Wall
|
||||||
where
|
where
|
||||||
import Dodge.Data
|
import Dodge.Data
|
||||||
import Color
|
|
||||||
import Geometry
|
|
||||||
import Dodge.LevelGen.Data
|
import Dodge.LevelGen.Data
|
||||||
import Dodge.Default.Wall
|
import Dodge.Default.Wall
|
||||||
|
import Geometry
|
||||||
|
import Shape
|
||||||
|
import Color
|
||||||
|
|
||||||
import Data.List
|
import Data.List
|
||||||
import Control.Lens
|
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 :: Point2 -> [Placement]
|
||||||
singleBlock a =
|
singleBlock a =
|
||||||
[sPS a 0
|
[sPS a 0
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ import Dodge.LevelGen.Switch
|
|||||||
import Dodge.RandomHelp
|
import Dodge.RandomHelp
|
||||||
import Dodge.Creature.Inanimate
|
import Dodge.Creature.Inanimate
|
||||||
import Dodge.Creature
|
import Dodge.Creature
|
||||||
import Dodge.LightSources.Lamp
|
import Dodge.LightSource
|
||||||
import Picture
|
import Picture
|
||||||
import Geometry
|
import Geometry
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ import Dodge.LevelGen.Data
|
|||||||
import Dodge.Room.Link
|
import Dodge.Room.Link
|
||||||
import Dodge.Placement.Instance
|
import Dodge.Placement.Instance
|
||||||
import Dodge.Room.Corridor
|
import Dodge.Room.Corridor
|
||||||
import Dodge.Room.Furniture
|
|
||||||
--import Dodge.LevelGen.Data
|
--import Dodge.LevelGen.Data
|
||||||
--import Dodge.Default.Wall
|
--import Dodge.Default.Wall
|
||||||
import Dodge.RandomHelp
|
import Dodge.RandomHelp
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
module Dodge.Room.RunPast where
|
||||||
@@ -9,7 +9,6 @@ import Dodge.Room.Room
|
|||||||
import Dodge.Room.Link
|
import Dodge.Room.Link
|
||||||
import Dodge.Room.Procedural
|
import Dodge.Room.Procedural
|
||||||
import Dodge.Room.Foreground
|
import Dodge.Room.Foreground
|
||||||
import Dodge.Room.Furniture
|
|
||||||
import Dodge.Room.RoadBlock
|
import Dodge.Room.RoadBlock
|
||||||
import Dodge.Placement.Instance
|
import Dodge.Placement.Instance
|
||||||
import Dodge.Layout.Tree.Polymorphic
|
import Dodge.Layout.Tree.Polymorphic
|
||||||
@@ -26,6 +25,14 @@ import Control.Lens
|
|||||||
import System.Random
|
import System.Random
|
||||||
--import qualified Data.IntMap.Strict as IM
|
--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 :: LightSource -> Room
|
||||||
rezBox ls = roomRect 40 60 1 1
|
rezBox ls = roomRect 40 60 1 1
|
||||||
& rmPmnts .~ [ sPS (V2 20 1) 0 $ PutLS ls]
|
& rmPmnts .~ [ sPS (V2 20 1) 0 $ PutLS ls]
|
||||||
@@ -65,14 +72,6 @@ rezBoxThenWeaponRoom = do
|
|||||||
rcol <- rezColor
|
rcol <- rezColor
|
||||||
treeFromTrunk [Left $ rezBox rcol,Left door] <$> weaponRoom
|
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 :: RandomGen g => State g (Tree (Either Room Room))
|
||||||
rezBoxesWpCrit = do
|
rezBoxesWpCrit = do
|
||||||
w <- state $ randomR (200,400)
|
w <- state $ randomR (200,400)
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ import Dodge.WorldEvent.Cloud
|
|||||||
import Dodge.WorldEvent.HitEffect
|
import Dodge.WorldEvent.HitEffect
|
||||||
import Dodge.WorldEvent.Explosion
|
import Dodge.WorldEvent.Explosion
|
||||||
import Dodge.WorldEvent.SpawnParticle
|
import Dodge.WorldEvent.SpawnParticle
|
||||||
import Dodge.LightSources.Lamp
|
import Dodge.LightSource
|
||||||
import Dodge.Creature.State.Data
|
import Dodge.Creature.State.Data
|
||||||
import Dodge.Data
|
import Dodge.Data
|
||||||
import Geometry
|
import Geometry
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ module Dodge.WorldEvent.Flash
|
|||||||
)
|
)
|
||||||
where
|
where
|
||||||
import Dodge.Data
|
import Dodge.Data
|
||||||
import Dodge.LightSources.Lamp
|
import Dodge.LightSource
|
||||||
import Dodge.WorldEvent.HelperParticle
|
import Dodge.WorldEvent.HelperParticle
|
||||||
import Dodge.Default
|
import Dodge.Default
|
||||||
import Picture
|
import Picture
|
||||||
|
|||||||
Reference in New Issue
Block a user