Cleanup
This commit is contained in:
+36
-45
@@ -1,66 +1,57 @@
|
||||
{-# LANGUAGE DeriveGeneric #-}
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
{-# LANGUAGE StrictData #-}
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
|
||||
module Dodge.Data.Bullet where
|
||||
import GHC.Generics
|
||||
|
||||
import Control.Lens
|
||||
import Data.Aeson
|
||||
import Data.Aeson.TH
|
||||
import Dodge.Data.Damage
|
||||
import Geometry.Data
|
||||
import Control.Lens
|
||||
|
||||
data Bullet = Bullet
|
||||
{ _buState :: BulletState
|
||||
, _buEffect :: BulletEffect
|
||||
, _buSpawn :: BulletSpawn
|
||||
, _buUpdateMod :: BulletUpdateMod
|
||||
{ _buDelayFraction :: Float
|
||||
, _buEffect :: BulletEffect
|
||||
, _buSpawn :: BulletSpawn
|
||||
, _buUpdateMod :: BulletUpdateMod
|
||||
, _buTrajectory :: BulletTrajectory
|
||||
, _buVel :: Point2
|
||||
, _buDrag :: Float
|
||||
, _buPos :: Point2
|
||||
, _buOldPos :: Point2
|
||||
, _buWidth :: Float
|
||||
, _buTimer :: Int
|
||||
, _buDamages :: [Damage]
|
||||
, _buVel :: Point2
|
||||
, _buDrag :: Float
|
||||
, _buPos :: Point2
|
||||
, _buOldPos :: Point2
|
||||
, _buWidth :: Float
|
||||
, _buTimer :: Int
|
||||
, _buDamages :: [Damage]
|
||||
}
|
||||
deriving (Show,Read,Eq,Ord,Generic)
|
||||
instance ToJSON Bullet where
|
||||
toEncoding = genericToEncoding defaultOptions
|
||||
instance FromJSON Bullet
|
||||
deriving (Show, Read, Eq, Ord)
|
||||
|
||||
data EnergyBallType = IncBall | TeslaBall | ConcBall
|
||||
deriving (Show,Read,Eq,Ord,Enum,Bounded,Generic)
|
||||
instance ToJSON EnergyBallType where
|
||||
toEncoding = genericToEncoding defaultOptions
|
||||
instance FromJSON EnergyBallType
|
||||
data BulletState = NormalBulletState
|
||||
| DelayedBullet Float
|
||||
deriving (Show,Read,Eq,Ord,Generic)
|
||||
instance ToJSON BulletState where
|
||||
toEncoding = genericToEncoding defaultOptions
|
||||
instance FromJSON BulletState
|
||||
deriving (Show, Read, Eq, Ord, Enum, Bounded)
|
||||
|
||||
data BulletUpdateMod = NoBulletUpdateMod
|
||||
deriving (Show,Read,Eq,Ord,Enum,Bounded,Generic)
|
||||
instance ToJSON BulletUpdateMod where
|
||||
toEncoding = genericToEncoding defaultOptions
|
||||
instance FromJSON BulletUpdateMod
|
||||
data BulletEffect
|
||||
deriving (Show, Read, Eq, Ord, Enum, Bounded)
|
||||
|
||||
data BulletEffect
|
||||
= DestroyBullet
|
||||
| BounceBullet
|
||||
| PenetrateBullet
|
||||
deriving (Eq,Ord,Show,Read,Enum,Bounded,Generic)
|
||||
instance ToJSON BulletEffect where
|
||||
toEncoding = genericToEncoding defaultOptions
|
||||
instance FromJSON BulletEffect
|
||||
deriving (Eq, Ord, Show, Read, Enum, Bounded)
|
||||
|
||||
data BulletSpawn = BulBall EnergyBallType | BulSpark
|
||||
deriving (Show,Read,Eq,Ord,Generic)
|
||||
instance ToJSON BulletSpawn where
|
||||
toEncoding = genericToEncoding defaultOptions
|
||||
instance FromJSON BulletSpawn
|
||||
deriving (Show, Read, Eq, Ord)
|
||||
|
||||
data BulletTrajectory
|
||||
= BasicBulletTrajectory
|
||||
| BezierTrajectory Point2 Point2 Point2
|
||||
| FlechetteTrajectory Point2
|
||||
| MagnetTrajectory Point2
|
||||
deriving (Show,Read,Eq,Ord,Generic)
|
||||
instance ToJSON BulletTrajectory where
|
||||
toEncoding = genericToEncoding defaultOptions
|
||||
instance FromJSON BulletTrajectory
|
||||
deriving (Show, Read, Eq, Ord)
|
||||
|
||||
makeLenses ''Bullet
|
||||
deriveJSON defaultOptions ''Bullet
|
||||
deriveJSON defaultOptions ''EnergyBallType
|
||||
deriveJSON defaultOptions ''BulletUpdateMod
|
||||
deriveJSON defaultOptions ''BulletEffect
|
||||
deriveJSON defaultOptions ''BulletSpawn
|
||||
deriveJSON defaultOptions ''BulletTrajectory
|
||||
|
||||
Reference in New Issue
Block a user