Files
loop/src/Dodge/Default.hs
T
2025-10-12 21:13:06 +01:00

60 lines
1.4 KiB
Haskell

{- |
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
}
defaultProximitySensor :: ProximitySensor
defaultProximitySensor =
ProxSensor
{ _proxSensorType = SensorWithRequirement $ RequireHealth 0
, _proxToggle = Nothing
}