module Rattletrap.Encode.AppliedDamageAttribute
  ( putAppliedDamageAttribute
  )
where

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

import qualified Data.Binary.Bits.Put as BinaryBits

putAppliedDamageAttribute :: AppliedDamageAttribute -> BinaryBits.BitPut ()
putAppliedDamageAttribute :: AppliedDamageAttribute -> BitPut ()
putAppliedDamageAttribute AppliedDamageAttribute
appliedDamageAttribute = do
  Word8le -> BitPut ()
putWord8Bits (AppliedDamageAttribute -> Word8le
appliedDamageAttributeUnknown1 AppliedDamageAttribute
appliedDamageAttribute)
  Vector -> BitPut ()
putVector (AppliedDamageAttribute -> Vector
appliedDamageAttributeLocation AppliedDamageAttribute
appliedDamageAttribute)
  Int32le -> BitPut ()
putInt32Bits (AppliedDamageAttribute -> Int32le
appliedDamageAttributeUnknown3 AppliedDamageAttribute
appliedDamageAttribute)
  Int32le -> BitPut ()
putInt32Bits (AppliedDamageAttribute -> Int32le
appliedDamageAttributeUnknown4 AppliedDamageAttribute
appliedDamageAttribute)