rattletrap-0.1.0: library/Rattletrap/AttributeValue/Explosion.hs
module Rattletrap.AttributeValue.Explosion where
import Rattletrap.Int32
import Rattletrap.Vector
import qualified Data.Binary.Bits.Get as BinaryBit
import qualified Data.Binary.Bits.Put as BinaryBit
data ExplosionAttributeValue = ExplosionAttributeValue
{ explosionAttributeValueActorId :: Int32
, explosionAttributeValueLocation :: Vector
} deriving (Eq, Ord, Show)
getExplosionAttributeValue :: BinaryBit.BitGet ExplosionAttributeValue
getExplosionAttributeValue = do
False <- BinaryBit.getBool
actorId <- getInt32Bits
location <- getVector
pure (ExplosionAttributeValue actorId location)
putExplosionAttributeValue :: ExplosionAttributeValue -> BinaryBit.BitPut ()
putExplosionAttributeValue explosionAttributeValue = do
BinaryBit.putBool False
putInt32Bits (explosionAttributeValueActorId explosionAttributeValue)
putVector (explosionAttributeValueLocation explosionAttributeValue)