module Rattletrap.Encode.UniqueIdAttribute
  ( putUniqueIdAttribute
  )
where

import Rattletrap.Encode.RemoteId
import Rattletrap.Encode.Word8le
import Rattletrap.Type.UniqueIdAttribute

import qualified Data.Binary.Bits.Put as BinaryBits

putUniqueIdAttribute :: UniqueIdAttribute -> BinaryBits.BitPut ()
putUniqueIdAttribute :: UniqueIdAttribute -> BitPut ()
putUniqueIdAttribute UniqueIdAttribute
uniqueIdAttribute = do
  Word8le -> BitPut ()
putWord8Bits (UniqueIdAttribute -> Word8le
uniqueIdAttributeSystemId UniqueIdAttribute
uniqueIdAttribute)
  RemoteId -> BitPut ()
putRemoteId (UniqueIdAttribute -> RemoteId
uniqueIdAttributeRemoteId UniqueIdAttribute
uniqueIdAttribute)
  Word8le -> BitPut ()
putWord8Bits (UniqueIdAttribute -> Word8le
uniqueIdAttributeLocalId UniqueIdAttribute
uniqueIdAttribute)