Files
loop/src/Dodge/Data/CrGroupParams.hs
T
2022-08-20 18:41:04 +01:00

30 lines
785 B
Haskell

{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TemplateHaskell #-}
module Dodge.Data.CrGroupParams where
import Flat
import LinearHelp ()
import Control.Lens
import Data.Aeson
import Data.Aeson.TH
import qualified IntSetHelp as IS
import Geometry.Data
data CrGroupParams = CrGroupParams
{ _crGroupParamID :: Int
, _crGroupIDs :: IS.IntSet
, _crGroupCenter :: Point2
, _crGroupUpdate :: CrGroupUpdate --World -> CrGroupParams -> Maybe CrGroupParams
}
deriving (Eq, Ord, Show, Read, Generic, Flat)
data CrGroupUpdate = DefaultCrGroupUpdate
deriving (Eq, Ord, Show, Read, Generic, Flat)
makeLenses ''CrGroupParams
deriveJSON defaultOptions ''CrGroupParams
deriveJSON defaultOptions ''CrGroupUpdate