module Rattletrap.Encode.WeldedInfoAttribute
  ( putWeldedInfoAttribute
  )
where

import Rattletrap.Encode.Float32le
import Rattletrap.Encode.Int32le
import Rattletrap.Encode.Int8Vector
import Rattletrap.Encode.Vector
import Rattletrap.Type.WeldedInfoAttribute

import qualified Data.Binary.Bits.Put as BinaryBits

putWeldedInfoAttribute :: WeldedInfoAttribute -> BinaryBits.BitPut ()
putWeldedInfoAttribute :: WeldedInfoAttribute -> BitPut ()
putWeldedInfoAttribute WeldedInfoAttribute
weldedInfoAttribute = do
  Bool -> BitPut ()
BinaryBits.putBool (WeldedInfoAttribute -> Bool
weldedInfoAttributeActive WeldedInfoAttribute
weldedInfoAttribute)
  Int32le -> BitPut ()
putInt32Bits (WeldedInfoAttribute -> Int32le
weldedInfoAttributeActorId WeldedInfoAttribute
weldedInfoAttribute)
  Vector -> BitPut ()
putVector (WeldedInfoAttribute -> Vector
weldedInfoAttributeOffset WeldedInfoAttribute
weldedInfoAttribute)
  Float32le -> BitPut ()
putFloat32Bits (WeldedInfoAttribute -> Float32le
weldedInfoAttributeMass WeldedInfoAttribute
weldedInfoAttribute)
  Int8Vector -> BitPut ()
putInt8Vector (WeldedInfoAttribute -> Int8Vector
weldedInfoAttributeRotation WeldedInfoAttribute
weldedInfoAttribute)