29 lines
686 B
Haskell
29 lines
686 B
Haskell
{-# 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
|