{-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE DeriveAnyClass #-} {-# LANGUAGE StrictData #-} {-# LANGUAGE TemplateHaskell #-} module Dodge.Data.Modification where import Control.Lens import Data.Aeson import Data.Aeson.TH import Dodge.Data.WorldEffect import Geometry.Data data Modification = ModIDTimerPoint3Bool { _mdID :: Int , _mdExternalID :: Int , _mdUpdate :: MdWdWd , _mdTimer :: Int , _mdPoint3 :: Point3 , _mdBool :: Bool } | ModIDID { _mdID :: Int , _mdExternalID1 :: Int , _mdExternalID2 :: Int , _mdUpdate :: MdWdWd } --deriving (Eq, Ord, Show, Read) --Generic, Flat) makeLenses ''Modification deriveJSON defaultOptions ''Modification