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)