Move from store to flat
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
{-# LANGUAGE DeriveGeneric #-}
|
||||
{-# LANGUAGE DeriveAnyClass #-}
|
||||
{-# LANGUAGE StrictData #-}
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
|
||||
@@ -6,6 +8,7 @@ module Dodge.Data.Bullet
|
||||
, module Dodge.Data.Damage
|
||||
)where
|
||||
|
||||
import Flat
|
||||
import LinearHelp
|
||||
import Control.Lens
|
||||
import Data.Aeson
|
||||
@@ -29,30 +32,30 @@ data Bullet = Bullet
|
||||
, _buTimer :: Int
|
||||
, _buDamages :: [Damage]
|
||||
}
|
||||
deriving (Show, Read, Eq, Ord)
|
||||
deriving (Show, Read, Eq, Ord, Generic, Flat)
|
||||
|
||||
data EnergyBallType = IncBall | TeslaBall | ConcBall
|
||||
deriving (Show, Read, Eq, Ord, Enum, Bounded)
|
||||
deriving (Show, Read, Eq, Ord, Enum, Bounded, Generic, Flat)
|
||||
|
||||
data BulletUpdateMod = NoBulletUpdateMod
|
||||
| ABulletUpdateMod -- hack for template splicing
|
||||
deriving (Show, Read, Eq, Ord, Enum, Bounded)
|
||||
deriving (Show, Read, Eq, Ord, Enum, Bounded, Generic, Flat)
|
||||
|
||||
data BulletEffect
|
||||
= DestroyBullet
|
||||
| BounceBullet
|
||||
| PenetrateBullet
|
||||
deriving (Eq, Ord, Show, Read, Enum, Bounded)
|
||||
deriving (Eq, Ord, Show, Read, Enum, Bounded, Generic, Flat)
|
||||
|
||||
data BulletSpawn = BulBall EnergyBallType | BulSpark
|
||||
deriving (Show, Read, Eq, Ord)
|
||||
deriving (Show, Read, Eq, Ord, Generic, Flat)
|
||||
|
||||
data BulletTrajectory
|
||||
= BasicBulletTrajectory
|
||||
| BezierTrajectory Point2 Point2 Point2
|
||||
| FlechetteTrajectory Point2
|
||||
| MagnetTrajectory Point2
|
||||
deriving (Show, Read, Eq, Ord)
|
||||
deriving (Show, Read, Eq, Ord, Generic, Flat)
|
||||
|
||||
makeLenses ''Bullet
|
||||
deriveJSON defaultOptions ''Bullet
|
||||
@@ -61,9 +64,3 @@ deriveJSON defaultOptions ''BulletUpdateMod
|
||||
deriveJSON defaultOptions ''BulletEffect
|
||||
deriveJSON defaultOptions ''BulletSpawn
|
||||
deriveJSON defaultOptions ''BulletTrajectory
|
||||
$($(derive [d| instance Deriving (Store Bullet) |]))
|
||||
$($(derive [d| instance Deriving (Store EnergyBallType) |]))
|
||||
$($(derive [d| instance Deriving (Store BulletUpdateMod) |]))
|
||||
$($(derive [d| instance Deriving (Store BulletEffect) |]))
|
||||
$($(derive [d| instance Deriving (Store BulletSpawn) |]))
|
||||
$($(derive [d| instance Deriving (Store BulletTrajectory) |]))
|
||||
|
||||
Reference in New Issue
Block a user