Make creature update an external function
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
--{-# LANGUAGE TemplateHaskell #-}
|
||||
--{-# LANGUAGE StrictData #-}
|
||||
module Dodge.Data.Ammo where
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
{-# LANGUAGE StrictData #-}
|
||||
module Dodge.Data.Creature where
|
||||
import Sound.Data
|
||||
import Geometry.Data
|
||||
import Color
|
||||
import Control.Lens
|
||||
data CamouflageStatus
|
||||
= FullyVisible
|
||||
@@ -31,6 +33,22 @@ data CrMvType
|
||||
, _mvTurnJit :: Float
|
||||
, _mvAimSpeed :: Float -> Float
|
||||
}
|
||||
data HumanoidAI = YourAI | ChaseAI | InanimateAI | SpreadGunAI | PistolAI
|
||||
| LtAutoAI | LauncherAI | SwarmAI | AutoAI | FlockArmourChaseAI | MiniGunAI
|
||||
| LongAI | MultGunAI
|
||||
data CreatureType
|
||||
= Humanoid
|
||||
{ _skinHead :: Color
|
||||
, _skinUpper :: Color
|
||||
, _skinLower :: Color
|
||||
, _humanoidAI :: HumanoidAI
|
||||
}
|
||||
| Barreloid {_barrelType :: BarrelType}
|
||||
| Lampoid {_lampHeight :: Float, _lampColor :: Point3, _lampLSID :: Maybe Int}
|
||||
| Turretoid
|
||||
| NonDrawnCreature
|
||||
data BarrelType = PlainBarrel | ExplosiveBarrel
|
||||
makeLenses ''CreatureStatistics
|
||||
makeLenses ''Vocalization
|
||||
makeLenses ''CrMvType
|
||||
makeLenses ''CreatureType
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
--{-# LANGUAGE TemplateHaskell #-}
|
||||
{-# LANGUAGE StrictData #-}
|
||||
module Dodge.Data.Payload where
|
||||
data Payload = ExplosionPayload | DudPayload
|
||||
@@ -0,0 +1,8 @@
|
||||
--{-# LANGUAGE TemplateHaskell #-}
|
||||
--{-# LANGUAGE StrictData #-}
|
||||
module Dodge.Data.Projectile where
|
||||
--import Dodge.Data.Ammo
|
||||
--import Geometry.Data
|
||||
--import Control.Lens
|
||||
|
||||
data ProjectileType = ShellType
|
||||
@@ -0,0 +1,12 @@
|
||||
{-# LANGUAGE TemplateHaskell #-}
|
||||
{-# LANGUAGE StrictData #-}
|
||||
module Dodge.Data.TeslaArc where
|
||||
import Geometry.Data
|
||||
import Color
|
||||
import Control.Lens
|
||||
data TeslaArc = TeslaArc
|
||||
{ _taPoints :: [Point2]
|
||||
, _taTimer :: Int
|
||||
, _taColor :: Color
|
||||
}
|
||||
makeLenses ''TeslaArc
|
||||
Reference in New Issue
Block a user