rattletrap-2.2.2: library/Rattletrap/Mark.hs
module Rattletrap.Mark where
import Rattletrap.Primitive
import qualified Data.Binary as Binary
data Mark = Mark
{ markValue :: Text
-- ^ Which type of mark this is, like @Team0Goal@.
, markFrame :: Word32
-- ^ Which frame this mark belongs to, starting from 0.
} deriving (Eq, Ord, Show)
getMark :: Binary.Get Mark
getMark = do
value <- getText
frame <- getWord32
pure (Mark value frame)
putMark :: Mark -> Binary.Put
putMark mark = do
putText (markValue mark)
putWord32 (markFrame mark)