module Rattletrap.Encode.SpawnedReplication ( putSpawnedReplication ) where import Rattletrap.Encode.Initialization import Rattletrap.Encode.Word32le import Rattletrap.Type.SpawnedReplication import qualified Data.Binary.Bits.Put as BinaryBits putSpawnedReplication :: SpawnedReplication -> BinaryBits.BitPut () putSpawnedReplication :: SpawnedReplication -> BitPut () putSpawnedReplication SpawnedReplication spawnedReplication = do Bool -> BitPut () BinaryBits.putBool (SpawnedReplication -> Bool spawnedReplicationFlag SpawnedReplication spawnedReplication) case SpawnedReplication -> Maybe Word32le spawnedReplicationNameIndex SpawnedReplication spawnedReplication of Maybe Word32le Nothing -> () -> BitPut () forall (f :: * -> *) a. Applicative f => a -> f a pure () Just Word32le nameIndex -> Word32le -> BitPut () putWord32Bits Word32le nameIndex Word32le -> BitPut () putWord32Bits (SpawnedReplication -> Word32le spawnedReplicationObjectId SpawnedReplication spawnedReplication) Initialization -> BitPut () putInitialization (SpawnedReplication -> Initialization spawnedReplicationInitialization SpawnedReplication spawnedReplication)