52 lines
1.1 KiB
Haskell
52 lines
1.1 KiB
Haskell
--{-# 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
|