Move UseCondition out of record
This commit is contained in:
@@ -40,7 +40,7 @@ data Consumables
|
||||
|
||||
data Item = Item
|
||||
{ _itUse :: ItemUse
|
||||
, _itUseCondition :: UseCondition
|
||||
-- , _itUseCondition :: UseCondition
|
||||
, _itConsumables :: Consumables
|
||||
, _itType :: ItemType
|
||||
, _itID :: NewInt ItmInt
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
{-# LANGUAGE DeriveGeneric #-}
|
||||
{-# LANGUAGE DeriveAnyClass #-}
|
||||
{-# LANGUAGE StrictData #-}
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
|
||||
module Dodge.Data.Item.HeldUse where
|
||||
|
||||
--import Dodge.Data.Item.Use.Consumption.Ammo
|
||||
import Dodge.Data.Magnet
|
||||
import Data.Aeson
|
||||
import Data.Aeson.TH
|
||||
import Control.Lens
|
||||
|
||||
data Cuse
|
||||
= CDoNothing
|
||||
| CHeal Int
|
||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
data Euse
|
||||
= EDoNothing
|
||||
| EMagShield MagnetBuBu
|
||||
| EWristShield
|
||||
| EHeadLamp
|
||||
deriving (Eq, Ord, Show, Read) --Generic, Flat)
|
||||
|
||||
makeLenses ''Euse
|
||||
deriveJSON defaultOptions ''Cuse
|
||||
deriveJSON defaultOptions ''Euse
|
||||
@@ -5,7 +5,6 @@
|
||||
|
||||
module Dodge.Data.Item.Use (
|
||||
module Dodge.Data.Item.Use,
|
||||
module Dodge.Data.Item.HeldUse,
|
||||
module Dodge.Data.Item.Use.Consumption,
|
||||
module Dodge.Data.Item.Targeting,
|
||||
module Dodge.Data.GenFloat,
|
||||
@@ -19,8 +18,6 @@ import Data.Aeson.TH
|
||||
import qualified Data.Set as S
|
||||
import Dodge.Data.GenFloat
|
||||
import Dodge.Data.Item.BulletMod
|
||||
--import Dodge.Data.Item.HeldDelay
|
||||
import Dodge.Data.Item.HeldUse
|
||||
import Dodge.Data.Item.Scope
|
||||
import Dodge.Data.Item.Targeting
|
||||
import Dodge.Data.Item.Use.Consumption
|
||||
@@ -47,11 +44,6 @@ data UseFocus
|
||||
| UseFromLocation
|
||||
deriving (Eq, Show, Read)
|
||||
|
||||
data UseCondition
|
||||
= UseableWhenAimed
|
||||
| UseableAnytime
|
||||
deriving (Eq, Show, Read)
|
||||
|
||||
data AttachParams
|
||||
= APProjectiles {_apProjectiles :: [Int]}
|
||||
| APInt {_apInt :: Int}
|
||||
@@ -65,68 +57,13 @@ data AmmoParams
|
||||
| NoAmmoParams
|
||||
deriving (Eq, 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)
|
||||
|
||||
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)
|
||||
|
||||
makeLenses ''ItemUse
|
||||
makeLenses ''Muzzle
|
||||
makeLenses ''AttachParams
|
||||
makeLenses ''AmmoParams
|
||||
makeLenses ''MuzzleEffect
|
||||
makeLenses ''AmmoPerShot
|
||||
makeLenses ''UseCondition
|
||||
--makeLenses ''UseCondition
|
||||
makeLenses ''UseFocus
|
||||
deriveJSON defaultOptions ''UseFocus
|
||||
deriveJSON defaultOptions ''UseCondition
|
||||
deriveJSON defaultOptions ''MuzzleEffect
|
||||
deriveJSON defaultOptions ''FlareType
|
||||
--deriveJSON defaultOptions ''UseFocus
|
||||
--deriveJSON defaultOptions ''UseCondition
|
||||
deriveJSON defaultOptions ''AmmoParams
|
||||
deriveJSON defaultOptions ''AmmoPerShot
|
||||
deriveJSON defaultOptions ''Muzzle
|
||||
deriveJSON defaultOptions ''AttachParams
|
||||
deriveJSON defaultOptions ''ItemUse
|
||||
|
||||
@@ -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
|
||||
@@ -0,0 +1,12 @@
|
||||
{-# LANGUAGE StrictData #-}
|
||||
module Dodge.Data.UseCondition
|
||||
where
|
||||
|
||||
data UseCondition
|
||||
= UseableWhenAimed
|
||||
| UseableWhenHeld
|
||||
| UseableAnytime
|
||||
| NeverUsable
|
||||
deriving (Eq, Show, Read)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user