{-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE DeriveAnyClass #-} {-# LANGUAGE StrictData #-} {-# LANGUAGE TemplateHaskell #-} module Dodge.Data.GenParams where import Color import Control.Lens import Data.Aeson import Data.Aeson.TH import qualified Data.Map.Strict as M import Dodge.Data.Damage.Type newtype GenParams = GenParams { _sensorCoding :: M.Map DamageType (PaletteColor, DecorationShape) } deriving (Eq, Ord, Show, Read) --Generic, Flat) data DecorationShape = PLUS | SQUARE | CIRCLE | THREELINES deriving (Eq, Ord, Enum, Show, Read) --Generic, Flat) makeLenses ''GenParams deriveJSON defaultOptions ''DecorationShape deriveJSON defaultOptions ''GenParams