module Dodge.Room.BlinkAcross where
--import Dodge.LevelGen.Data
import Dodge.PlacementSpot
import Dodge.Cleat
import Dodge.Data
import Dodge.Tree
--import Dodge.RoomLink
--import Dodge.Room.Door
import Dodge.Room.Corridor
import Dodge.Room.Link
--import Dodge.Room.Ngon
import Dodge.Room.Procedural
--import Dodge.Room.Foreground
--import Dodge.Room.RoadBlock
--import Dodge.Placement.Instance
--import Dodge.Placement.Instance.Analyser
--import Dodge.Default.Room
--import Dodge.Item.Consumable
--import Dodge.Machine
--import Dodge.Item.Weapon.Utility
--import Dodge.LevelGen.Data
--import Geometry.Data
--import Geometry
--import Padding
--import Color
--import Shape
import LensHelp
--import Dodge.RandomHelp
--import Dodge.SoundLogic

--import qualified Data.Set as S
--import Data.Maybe
--import Data.Tree
import Control.Monad.State
import System.Random

blinkAcrossChallenge :: RandomGen g => State g (MetaTree Room String)
blinkAcrossChallenge = do
    teleFromRoom <- shuffleLinks $ roomRectAutoLinks 200 200
    teleToRoom  <- shuffleLinks $ roomRectAutoLinks 200 200
    emptylink   <- shuffleLinks emptyCorridor 
    rToOnward "blinkAcrossChallenge"
        $ treePost [ teleFromRoom, emptylink, cleatOnward teleToRoom]

emptyCorridor :: Room
emptyCorridor = corridor & rmPolys .~ []
    & rmPath .~ mempty
    & rmPmnts .~ []
    & rmRandPSs .~ [psRandRanges (10,30) (30,60) (0,2*pi)]
    & rmName .~ "WalledCorridor"
