module Rattletrap.Encode.DemolishAttribute
  ( putDemolishAttribute
  )
where

import Rattletrap.Encode.Vector
import Rattletrap.Encode.Word32le
import Rattletrap.Type.DemolishAttribute

import qualified Data.Binary.Bits.Put as BinaryBits

putDemolishAttribute :: DemolishAttribute -> BinaryBits.BitPut ()
putDemolishAttribute :: DemolishAttribute -> BitPut ()
putDemolishAttribute DemolishAttribute
demolishAttribute = do
  Bool -> BitPut ()
BinaryBits.putBool (DemolishAttribute -> Bool
demolishAttributeAttackerFlag DemolishAttribute
demolishAttribute)
  Word32le -> BitPut ()
putWord32Bits (DemolishAttribute -> Word32le
demolishAttributeAttackerActorId DemolishAttribute
demolishAttribute)
  Bool -> BitPut ()
BinaryBits.putBool (DemolishAttribute -> Bool
demolishAttributeVictimFlag DemolishAttribute
demolishAttribute)
  Word32le -> BitPut ()
putWord32Bits (DemolishAttribute -> Word32le
demolishAttributeVictimActorId DemolishAttribute
demolishAttribute)
  Vector -> BitPut ()
putVector (DemolishAttribute -> Vector
demolishAttributeAttackerVelocity DemolishAttribute
demolishAttribute)
  Vector -> BitPut ()
putVector (DemolishAttribute -> Vector
demolishAttributeVictimVelocity DemolishAttribute
demolishAttribute)