Split out more data files
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
{-# LANGUAGE StrictData #-}
|
||||
module Dodge.Data.Cloud where
|
||||
import Geometry
|
||||
import Picture
|
||||
import Control.Lens
|
||||
data Cloud = Cloud
|
||||
{ _clPos :: Point3
|
||||
, _clVel :: Point3
|
||||
, _clPict :: Cloud -> Picture
|
||||
, _clRad :: Float
|
||||
, _clAlt :: Float
|
||||
, _clTimer :: Int
|
||||
, _clType :: CloudType
|
||||
-- , _clEffect :: Cloud -> World -> World
|
||||
}
|
||||
data CloudType
|
||||
= SmokeCloud
|
||||
| GasCloud
|
||||
makeLenses ''Cloud
|
||||
@@ -0,0 +1,11 @@
|
||||
--{-# LANGUAGE TemplateHaskell #-}
|
||||
{-# LANGUAGE StrictData #-}
|
||||
module Dodge.Data.Door where
|
||||
|
||||
data DoorStatus = DoorOpen | DoorClosed | DoorHalfway | DoorInt Int
|
||||
deriving (Eq, Ord, Show)
|
||||
|
||||
data PushSource = PushesItself
|
||||
| PushedBy Int
|
||||
| NotPushed
|
||||
deriving (Eq,Ord,Show)
|
||||
@@ -0,0 +1,28 @@
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
{-# LANGUAGE StrictData #-}
|
||||
module Dodge.Data.HUD where
|
||||
import Geometry.Data
|
||||
import Control.Lens
|
||||
data HUDElement
|
||||
= DisplayInventory {_subInventory :: SubInventory}
|
||||
| DisplayCarte
|
||||
-- deriving (Eq,Ord,Show)
|
||||
|
||||
data SubInventory
|
||||
= NoSubInventory
|
||||
| TweakInventory
|
||||
| CombineInventory {_combineInvSel :: Maybe Int}
|
||||
| InspectInventory
|
||||
| LockedInventory
|
||||
| DisplayTerminal {_termID :: Int }
|
||||
-- deriving (Eq,Ord,Show)
|
||||
|
||||
data HUD = HUD
|
||||
{ _hudElement :: HUDElement
|
||||
, _carteCenter :: Point2
|
||||
, _carteZoom :: Float
|
||||
, _carteRot :: Float
|
||||
}
|
||||
makeLenses ''HUD
|
||||
makeLenses ''HUDElement
|
||||
makeLenses ''SubInventory
|
||||
@@ -0,0 +1,32 @@
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
{-# LANGUAGE StrictData #-}
|
||||
module Dodge.Data.Item where
|
||||
import Geometry.Data
|
||||
import Control.Lens
|
||||
|
||||
data ItemDimension = ItemDimension
|
||||
{ _dimRad :: Float
|
||||
, _dimCenter :: Point3
|
||||
, _dimAttachPos :: Point3
|
||||
}
|
||||
data ItemPortage
|
||||
= HeldItem
|
||||
{ _handlePos :: Float
|
||||
, _muzPos :: Float
|
||||
}
|
||||
| WornItem
|
||||
| NoPortage
|
||||
|
||||
data ItemValue = ItemValue
|
||||
{ _ivInt :: Int
|
||||
, _ivType :: ItemValueType
|
||||
}
|
||||
data ItemValueType = MundaneItem | ArtefactItem
|
||||
data ItemPos
|
||||
= InInv { _ipCrID :: Int , _ipInvID :: Int }
|
||||
| OnFloor { _ipFlID :: Int }
|
||||
| VoidItm
|
||||
makeLenses ''ItemDimension
|
||||
makeLenses ''ItemPortage
|
||||
makeLenses ''ItemValue
|
||||
makeLenses ''ItemPos
|
||||
Reference in New Issue
Block a user