Files
loop/src/Dodge/Data/Flame.hs
T
2022-08-21 12:21:05 +01:00

32 lines
665 B
Haskell

{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TemplateHaskell #-}
module Dodge.Data.Flame where
import TH.Derive
import Data.Store
import Data.Binary
import Flat
import Color
import Control.Lens
import Data.Aeson
import Data.Aeson.TH
import Geometry.Data
data Flame = Flame
{ _flVel :: Point2
, _flColor :: Color
, _flPos :: Point2
, _flWidth :: Float
, _flTimer :: Int
, _flZ :: Float
, _flOriginalVel :: Point2
}
deriving (Eq, Ord, Show, Read, Generic, Flat)
$($(derive [d| instance Deriving (Store Flame ) |]))
makeLenses ''Flame
deriveJSON defaultOptions ''Flame