{-# 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