module Rattletrap.Encode.CamSettingsAttribute ( putCamSettingsAttribute ) where import Rattletrap.Encode.Float32le import Rattletrap.Type.CamSettingsAttribute import qualified Data.Binary.Bits.Put as BinaryBits putCamSettingsAttribute :: CamSettingsAttribute -> BinaryBits.BitPut () putCamSettingsAttribute :: CamSettingsAttribute -> BitPut () putCamSettingsAttribute CamSettingsAttribute camSettingsAttribute = do Float32le -> BitPut () putFloat32Bits (CamSettingsAttribute -> Float32le camSettingsAttributeFov CamSettingsAttribute camSettingsAttribute) Float32le -> BitPut () putFloat32Bits (CamSettingsAttribute -> Float32le camSettingsAttributeHeight CamSettingsAttribute camSettingsAttribute) Float32le -> BitPut () putFloat32Bits (CamSettingsAttribute -> Float32le camSettingsAttributeAngle CamSettingsAttribute camSettingsAttribute) Float32le -> BitPut () putFloat32Bits (CamSettingsAttribute -> Float32le camSettingsAttributeDistance CamSettingsAttribute camSettingsAttribute) Float32le -> BitPut () putFloat32Bits (CamSettingsAttribute -> Float32le camSettingsAttributeStiffness CamSettingsAttribute camSettingsAttribute) Float32le -> BitPut () putFloat32Bits (CamSettingsAttribute -> Float32le camSettingsAttributeSwivelSpeed CamSettingsAttribute camSettingsAttribute) case CamSettingsAttribute -> Maybe Float32le camSettingsAttributeTransitionSpeed CamSettingsAttribute camSettingsAttribute of Maybe Float32le Nothing -> () -> BitPut () forall (f :: * -> *) a. Applicative f => a -> f a pure () Just Float32le transitionSpeed -> Float32le -> BitPut () putFloat32Bits Float32le transitionSpeed