rattletrap-0.1.7: library/Rattletrap/AttributeValue/ClubColors.hs
module Rattletrap.AttributeValue.ClubColors where
import Rattletrap.Word8
import qualified Data.Binary.Bits.Get as BinaryBit
import qualified Data.Binary.Bits.Put as BinaryBit
data ClubColorsAttributeValue = ClubColorsAttributeValue
{ clubColorsAttributeValueBlueFlag :: Bool
, clubColorsAttributeValueBlueColor :: Word8
, clubColorsAttributeValueOrangeFlag :: Bool
, clubColorsAttributeValueOrangeColor :: Word8
} deriving (Eq, Ord, Show)
getClubColorsAttributeValue :: BinaryBit.BitGet ClubColorsAttributeValue
getClubColorsAttributeValue = do
blueFlag <- BinaryBit.getBool
blueColor <- getWord8Bits
orangeFlag <- BinaryBit.getBool
orangeColor <- getWord8Bits
pure (ClubColorsAttributeValue blueFlag blueColor orangeFlag orangeColor)
putClubColorsAttributeValue :: ClubColorsAttributeValue -> BinaryBit.BitPut ()
putClubColorsAttributeValue clubColorsAttributeValue = do
BinaryBit.putBool (clubColorsAttributeValueBlueFlag clubColorsAttributeValue)
putWord8Bits (clubColorsAttributeValueBlueColor clubColorsAttributeValue)
BinaryBit.putBool
(clubColorsAttributeValueOrangeFlag clubColorsAttributeValue)
putWord8Bits (clubColorsAttributeValueOrangeColor clubColorsAttributeValue)