--{-# LANGUAGE DeriveGeneric #-} --{-# LANGUAGE DeriveAnyClass #-} {-# LANGUAGE StrictData #-} {-# LANGUAGE TemplateHaskell #-} module Dodge.Data.Equipment.Misc where import Data.Aeson import Data.Aeson.TH data EquipSite = GoesOnHead | GoesOnChest | GoesOnBack | GoesOnWrist | GoesOnLegs deriving (Eq,Ord,Show,Read) --deriving (Eq, Ord, Show, Read) --Generic, Flat) data EquipPosition = OnHead | OnChest | OnBack | OnLeftWrist | OnRightWrist | OnLegs | OnSpecial deriving (Eq, Ord) --deriving (Eq, Ord, Show, Read) --Generic, Flat) data Hotkey = HotkeyQ | HotkeyE | Hotkey1 | Hotkey2 | Hotkey3 | Hotkey4 | Hotkey5 | Hotkey6 | Hotkey7 | Hotkey8 | Hotkey9 | Hotkey0 deriving (Eq, Show, Read, Ord, Bounded, Enum) --Generic, Flat) deriveJSON defaultOptions ''EquipSite deriveJSON defaultOptions ''EquipPosition deriveJSON defaultOptions ''Hotkey instance ToJSONKey EquipPosition instance FromJSONKey EquipPosition instance ToJSONKey Hotkey instance FromJSONKey Hotkey