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