module Rattletrap.Encode.DamageStateAttribute
  ( putDamageStateAttribute
  )
where

import Rattletrap.Encode.Int32le
import Rattletrap.Encode.Vector
import Rattletrap.Encode.Word8le
import Rattletrap.Type.DamageStateAttribute

import qualified Data.Binary.Bits.Put as BinaryBits

putDamageStateAttribute :: DamageStateAttribute -> BinaryBits.BitPut ()
putDamageStateAttribute :: DamageStateAttribute -> BitPut ()
putDamageStateAttribute DamageStateAttribute
damageStateAttribute = do
  Word8le -> BitPut ()
putWord8Bits (DamageStateAttribute -> Word8le
damageStateAttributeUnknown1 DamageStateAttribute
damageStateAttribute)
  Bool -> BitPut ()
BinaryBits.putBool (DamageStateAttribute -> Bool
damageStateAttributeUnknown2 DamageStateAttribute
damageStateAttribute)
  Int32le -> BitPut ()
putInt32Bits (DamageStateAttribute -> Int32le
damageStateAttributeUnknown3 DamageStateAttribute
damageStateAttribute)
  Vector -> BitPut ()
putVector (DamageStateAttribute -> Vector
damageStateAttributeUnknown4 DamageStateAttribute
damageStateAttribute)
  Bool -> BitPut ()
BinaryBits.putBool (DamageStateAttribute -> Bool
damageStateAttributeUnknown5 DamageStateAttribute
damageStateAttribute)
  Bool -> BitPut ()
BinaryBits.putBool (DamageStateAttribute -> Bool
damageStateAttributeUnknown6 DamageStateAttribute
damageStateAttribute)