module Dodge.Default.Room where
import Data.Tile
import Geometry.Data
--import Dodge.LevelGen.Data
import Dodge.Data
import qualified Data.IntMap.Strict as IM
import qualified Data.Set as S

defaultRoom :: Room
defaultRoom = Room
    { _rmPolys  = mempty
    , _rmLinks  = mempty
    , _rmLinkEff = const . const . const . const id
    , _rmPos    = mempty
    , _rmPath   = mempty
    , _rmPmnts  = mempty
    , _rmInPmnt   = mempty
    , _rmOutPmnt    = mempty
    , _rmBound      = mempty
    , _rmFloor      = InheritFloor
    , _rmName       = "defaultRoom"
    , _rmShift      = (V2 0 0 , 0)
    , _rmViewpoints = mempty
    , _rmRandPSs    = mempty
--    , _rmLabel      = Nothing
--    , _rmTakeFrom   = Nothing
    , _rmStartWires = IM.empty
    , _rmEndWires   = IM.empty
    , _rmConnectsTo = S.member OutLink
    , _rmMID        = Nothing
    , _rmMParent    = Nothing
    , _rmChildren   = []
    , _rmType       = DefaultRoomType
    , _rmClusterStatus = defaultClusterStatus
    }
defaultClusterStatus :: ClusterStatus
defaultClusterStatus = ClusterStatus "defRoomClust" S.empty
