Move UseCondition out of record
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
{-# LANGUAGE StrictData #-}
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
module Dodge.Data.Muzzle where
|
||||
|
||||
import Dodge.Data.GenFloat
|
||||
import Linear
|
||||
import Control.Lens
|
||||
|
||||
data Muzzle = Muzzle
|
||||
{ _mzPos :: V2 Float
|
||||
, _mzRot :: Float
|
||||
, _mzInaccuracy :: Float
|
||||
, _mzAmmoSlot :: Int
|
||||
, _mzFlareType :: FlareType
|
||||
, _mzEffect :: MuzzleEffect
|
||||
, _mzAmmoPerShot :: AmmoPerShot
|
||||
, _mzFrame :: Int
|
||||
}
|
||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
data FlareType
|
||||
= NoFlare
|
||||
| BasicFlare
|
||||
| NoLightFlare
|
||||
| MiniGunFlare
|
||||
| HeavySmokeFlare
|
||||
| LasGunFlare
|
||||
| TeslaGunFlare
|
||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
data MuzzleEffect
|
||||
= MuzzleShootBullet
|
||||
| MuzzleLaser
|
||||
| MuzzleTesla
|
||||
| MuzzleTractor
|
||||
| MuzzleRLauncher
|
||||
| MuzzleGLauncher
|
||||
| MuzzleNozzle
|
||||
{ _nzPressure :: GenFloat
|
||||
, _nzMaxWalkAngle :: Float
|
||||
, _nzWalkSpeed :: Float
|
||||
}
|
||||
| MuzzleShatter
|
||||
| MuzzleDetector
|
||||
| MuzzleBlink
|
||||
| MuzzleUnsafeBlink
|
||||
| MuzzleRewind
|
||||
| MuzzleStopper
|
||||
| MuzzleScroller
|
||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
data AmmoPerShot
|
||||
= UseExactly {_useExactly :: Int}
|
||||
| UseUpTo {_useUpTo :: Int}
|
||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
makeLenses ''Muzzle
|
||||
makeLenses ''MuzzleEffect
|
||||
makeLenses ''AmmoPerShot
|
||||
Reference in New Issue
Block a user