module HGamer3D.Data.LMH
where
import Fresco
import Data.Binary.Serialise.CBOR
import Data.Binary.Serialise.CBOR.Encoding
import Data.Binary.Serialise.CBOR.Decoding
import Data.Text
import Data.Monoid
import Control.Applicative
type Switch = Bool
ctSwitch :: ComponentType Switch
ctSwitch = ComponentType 0x30b235f8b63df8b0
data LMH = Low
| Medium
| High
deriving (Eq, Read, Show)
type QualityLMH = LMH
ctQualityLMH :: ComponentType QualityLMH
ctQualityLMH = ComponentType 0xd632bb5447a6c93c
instance Serialise LMH where
encode (Low) = encodeListLen 1 <> encode (0::Int)
encode (Medium) = encodeListLen 1 <> encode (1::Int)
encode (High) = encodeListLen 1 <> encode (2::Int)
decode = do
decodeListLen
i <- decode :: Decoder s Int
case i of
0 -> (pure Low)
1 -> (pure Medium)
2 -> (pure High)