Add generic derivations and To/FromJSON instances
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
{-# LANGUAGE DeriveGeneric #-}
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
{-# LANGUAGE StrictData #-}
|
||||
module Dodge.Data.Targeting where
|
||||
import GHC.Generics
|
||||
import Data.Aeson
|
||||
import Geometry.Data
|
||||
import Control.Lens
|
||||
data Targeting
|
||||
@@ -12,16 +15,25 @@ data Targeting
|
||||
, _tgID :: Maybe Int
|
||||
, _tgActive :: Bool
|
||||
}
|
||||
deriving (Eq,Ord,Show,Read)
|
||||
deriving (Eq,Ord,Show,Read,Generic)
|
||||
instance ToJSON Targeting where
|
||||
toEncoding = genericToEncoding defaultOptions
|
||||
instance FromJSON Targeting
|
||||
data TargetUpdate = NoTargetUpdate
|
||||
| TargetLaserUpdate
|
||||
| TargetRBPressUpdate
|
||||
| TargetRBCreatureUpdate
|
||||
| TargetCursorUpdate
|
||||
deriving (Eq,Ord,Show,Read)
|
||||
deriving (Eq,Ord,Show,Read,Generic)
|
||||
instance ToJSON TargetUpdate where
|
||||
toEncoding = genericToEncoding defaultOptions
|
||||
instance FromJSON TargetUpdate
|
||||
data TargetDraw = NoTargetDraw
|
||||
| TargetDistanceDraw
|
||||
| SimpleDrawTarget
|
||||
| TargetRBCreatureDraw
|
||||
deriving (Eq,Ord,Show,Read)
|
||||
deriving (Eq,Ord,Show,Read,Generic)
|
||||
instance ToJSON TargetDraw where
|
||||
toEncoding = genericToEncoding defaultOptions
|
||||
instance FromJSON TargetDraw
|
||||
makeLenses ''Targeting
|
||||
|
||||
Reference in New Issue
Block a user