module Rattletrap.Attribute.Loadouts where

import Rattletrap.Attribute.Loadout

import qualified Data.Binary.Bits.Get as BinaryBit
import qualified Data.Binary.Bits.Put as BinaryBit

data LoadoutsAttribute = LoadoutsAttribute
  { loadoutsAttributeBlue :: LoadoutAttribute
  , loadoutsAttributeOrange :: LoadoutAttribute
  } deriving (Eq, Ord, Show)

getLoadoutsAttribute :: BinaryBit.BitGet LoadoutsAttribute
getLoadoutsAttribute = do
  blue <- getLoadoutAttribute
  orange <- getLoadoutAttribute
  pure (LoadoutsAttribute blue orange)

putLoadoutsAttribute :: LoadoutsAttribute -> BinaryBit.BitPut ()
putLoadoutsAttribute loadoutsAttribute = do
  putLoadoutAttribute (loadoutsAttributeBlue loadoutsAttribute)
  putLoadoutAttribute (loadoutsAttributeOrange loadoutsAttribute)