{- | Module : Dodge.Default Description : Instances of data structures This module contains prototypical data structures. -} module Dodge.Default ( module Dodge.Default, module Dodge.Default.Item, module Dodge.Default.Wall, module Dodge.Default.Creature, module Dodge.Default.Terminal, ) where import Control.Lens import Dodge.Data.World import Dodge.Default.Creature import Dodge.Default.Item import Dodge.Default.Terminal import Dodge.Default.Wall import Geometry import Picture defaultEquipment :: Item defaultEquipment = defaultHeldItem & itUse .~ UseNothing defaultFlIt :: FloorItem defaultFlIt = FlIt{_flItRot = 0, _flItPos = V2 0 0} defaultMachine :: Machine defaultMachine = Machine { _mcID = 0 , _mcWallIDs = mempty , _mcColor = white , _mcPos = V2 0 0 , _mcDir = 0 , _mcHP = 1000 , _mcMaterial = Electronics , _mcDamage = [] , _mcType = McStatic , _mcMounts = mempty , _mcWidth = 10 } defaultButton :: Button defaultButton = Button { _btPos = 0 , _btRot = 0 , _btEvent = ButtonPress False NoWorldEffect (dark red) , _btID = 0 } defaultPP :: PressPlate defaultPP = PressPlate { _ppPict = setDepth 1 . color (dim . dim $ bright blue) $ circleSolid 5 , _ppPos = V2 0 0 , _ppRot = 0 , _ppEvent = PressPlateId , _ppID = -1 , _ppText = "Pressure plate" } defaultProximitySensor :: ProximitySensor defaultProximitySensor = ProxSensor { _proxSensorType = SensorWithRequirement $ RequireHealth 0 , _proxToggle = Nothing }