module Rattletrap.Encode.PickupAttributeNew ( putPickupAttributeNew ) where import Rattletrap.Encode.Word32le import Rattletrap.Encode.Word8le import Rattletrap.Type.PickupAttributeNew import qualified Data.Binary.Bits.Put as BinaryBits putPickupAttributeNew :: PickupAttributeNew -> BinaryBits.BitPut () putPickupAttributeNew :: PickupAttributeNew -> BitPut () putPickupAttributeNew PickupAttributeNew pickupAttributeNew = do case PickupAttributeNew -> Maybe Word32le pickupAttributeNewInstigatorId PickupAttributeNew pickupAttributeNew of Maybe Word32le Nothing -> Bool -> BitPut () BinaryBits.putBool Bool False Just Word32le instigatorId -> do Bool -> BitPut () BinaryBits.putBool Bool True Word32le -> BitPut () putWord32Bits Word32le instigatorId Word8le -> BitPut () putWord8Bits (PickupAttributeNew -> Word8le pickupAttributeNewPickedUp PickupAttributeNew pickupAttributeNew)