rattletrap-9.0.3: source/library/Rattletrap/Encode/Replication.hs
module Rattletrap.Encode.Replication
( putReplications
)
where
import Rattletrap.Encode.CompressedWord
import Rattletrap.Encode.ReplicationValue
import Rattletrap.Type.Replication
import qualified Data.Binary.Bits.Put as BinaryBits
putReplications :: [Replication] -> BinaryBits.BitPut ()
putReplications replications = case replications of
[] -> BinaryBits.putBool False
[replication] -> do
putReplication replication
BinaryBits.putBool False
first : rest -> do
putReplication first
putReplications rest
putReplication :: Replication -> BinaryBits.BitPut ()
putReplication replication = do
BinaryBits.putBool True
putCompressedWord (replicationActorId replication)
putReplicationValue (replicationValue replication)