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 = do putFloat32Bits (camSettingsAttributeFov camSettingsAttribute) putFloat32Bits (camSettingsAttributeHeight camSettingsAttribute) putFloat32Bits (camSettingsAttributeAngle camSettingsAttribute) putFloat32Bits (camSettingsAttributeDistance camSettingsAttribute) putFloat32Bits (camSettingsAttributeStiffness camSettingsAttribute) putFloat32Bits (camSettingsAttributeSwivelSpeed camSettingsAttribute) case camSettingsAttributeTransitionSpeed camSettingsAttribute of Nothing -> pure () Just transitionSpeed -> putFloat32Bits transitionSpeed