Add Binary instances
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
|
||||
module Dodge.Data.Creature.Memory where
|
||||
|
||||
import Data.Binary
|
||||
import Flat
|
||||
import LinearHelp ()
|
||||
import Control.Lens
|
||||
@@ -17,6 +18,7 @@ data Memory = Memory
|
||||
, _nodesSearched :: [Int]
|
||||
}
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary Memory
|
||||
|
||||
makeLenses ''Memory
|
||||
deriveJSON defaultOptions ''Memory
|
||||
|
||||
@@ -8,6 +8,7 @@ module Dodge.Data.Creature.Misc (
|
||||
module Dodge.Data.CamouflageStatus,
|
||||
) where
|
||||
|
||||
import Data.Binary
|
||||
import Flat
|
||||
import Color
|
||||
import Control.Lens
|
||||
@@ -24,6 +25,7 @@ data CreatureStatistics = CreatureStatistics
|
||||
, _intelligence :: Int
|
||||
}
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary CreatureStatistics
|
||||
|
||||
data Vocalization
|
||||
= Mute
|
||||
@@ -34,6 +36,7 @@ data Vocalization
|
||||
, _vcCoolDown :: Int
|
||||
}
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary Vocalization
|
||||
|
||||
data CrMvType
|
||||
= NoMvType
|
||||
@@ -45,6 +48,7 @@ data CrMvType
|
||||
, _mvAimSpeed :: FloatFloat
|
||||
}
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary CrMvType
|
||||
|
||||
data HumanoidAI
|
||||
= YourAI
|
||||
@@ -61,6 +65,7 @@ data HumanoidAI
|
||||
| LongAI
|
||||
| MultGunAI
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary HumanoidAI
|
||||
|
||||
data CreatureType
|
||||
= Humanoid
|
||||
@@ -73,9 +78,11 @@ data CreatureType
|
||||
| Lampoid {_lampHeight :: Float, _lampColor :: Point3, _lampLSID :: Maybe Int}
|
||||
| NonDrawnCreature
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary CreatureType
|
||||
|
||||
data BarrelType = PlainBarrel | ExplosiveBarrel
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary BarrelType
|
||||
|
||||
makeLenses ''CreatureStatistics
|
||||
makeLenses ''Vocalization
|
||||
|
||||
@@ -23,6 +23,7 @@ module Dodge.Data.Creature.Perception (
|
||||
auDist,
|
||||
) where
|
||||
|
||||
import Data.Binary
|
||||
import Flat
|
||||
import Control.Lens
|
||||
import Data.Aeson
|
||||
@@ -38,17 +39,20 @@ data Perception = Perception
|
||||
, _cpAudition :: Audition
|
||||
}
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary Perception
|
||||
|
||||
data Vision = Eyes
|
||||
{ _viFOV :: FloatFloat
|
||||
, _viDist :: FloatFloat
|
||||
}
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary Vision
|
||||
|
||||
newtype Audition = Ears
|
||||
{ _auDist :: FloatFloat
|
||||
}
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary Audition
|
||||
|
||||
data Vigilance
|
||||
= Comatose
|
||||
@@ -57,16 +61,19 @@ data Vigilance
|
||||
| Vigilant
|
||||
| Overstrung
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary Vigilance
|
||||
|
||||
data Attention
|
||||
= AttentiveTo {_getAttentiveTo :: IM.IntMap Awareness}
|
||||
| Fixated {_getFixated :: Int}
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary Attention
|
||||
|
||||
data Awareness
|
||||
= Suspicious Float
|
||||
| Cognizant Float
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary Awareness
|
||||
|
||||
makeLenses ''Perception
|
||||
makeLenses ''Vision
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
module Dodge.Data.Creature.Stance where
|
||||
|
||||
import Data.Binary
|
||||
import Flat
|
||||
import LinearHelp ()
|
||||
import Control.Lens
|
||||
@@ -18,6 +19,7 @@ data Stance = Stance
|
||||
, _strideLength :: Int
|
||||
}
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary Stance
|
||||
|
||||
data Carriage
|
||||
= Walking
|
||||
@@ -29,6 +31,7 @@ data Carriage
|
||||
| Flying
|
||||
| Boosting Point2
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary Carriage
|
||||
|
||||
data FootForward
|
||||
= LeftForward
|
||||
@@ -36,11 +39,13 @@ data FootForward
|
||||
| WasLeftForward
|
||||
| WasRightForward
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary FootForward
|
||||
|
||||
data Posture
|
||||
= Aiming
|
||||
| AtEase
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary Posture
|
||||
|
||||
makeLenses ''Stance
|
||||
makeLenses ''Carriage
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
module Dodge.Data.Creature.State where
|
||||
|
||||
import Data.Binary
|
||||
import Flat
|
||||
import Color
|
||||
import Control.Lens
|
||||
@@ -20,17 +21,20 @@ data CreatureState = CrSt
|
||||
, _csDropsOnDeath :: CreatureDropType
|
||||
}
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary CreatureState
|
||||
|
||||
data CreatureDropType
|
||||
= DropAll
|
||||
| DropAmount Int
|
||||
| DropSpecific [Int]
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary CreatureDropType
|
||||
|
||||
data CrSpState
|
||||
= Barrel {_piercedPoints :: [Point2]}
|
||||
| GenCr
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary CrSpState
|
||||
|
||||
data Faction
|
||||
= GenericFaction Int
|
||||
@@ -42,6 +46,7 @@ data Faction
|
||||
| ColorFaction Color
|
||||
| PlayerFaction
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary Faction
|
||||
|
||||
data CrGroup
|
||||
= LoneWolf
|
||||
@@ -52,6 +57,7 @@ data CrGroup
|
||||
| CrGroupID {_crGroupID :: Int}
|
||||
| ShieldGroup
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary CrGroup
|
||||
|
||||
makeLenses ''CreatureState
|
||||
makeLenses ''CrSpState
|
||||
|
||||
Reference in New Issue
Block a user