module Rattletrap.Encode.PickupAttribute ( putPickupAttribute ) where import Rattletrap.Encode.Word32le import Rattletrap.Type.PickupAttribute import qualified Data.Binary.Bits.Put as BinaryBits putPickupAttribute :: PickupAttribute -> BinaryBits.BitPut () putPickupAttribute :: PickupAttribute -> BitPut () putPickupAttribute PickupAttribute pickupAttribute = do case PickupAttribute -> Maybe Word32le pickupAttributeInstigatorId PickupAttribute pickupAttribute 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 Bool -> BitPut () BinaryBits.putBool (PickupAttribute -> Bool pickupAttributePickedUp PickupAttribute pickupAttribute)