Files
loop/src/Dodge/Data/Hammer.hs
T

26 lines
585 B
Haskell

{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DeriveAnyClass #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TemplateHaskell #-}
module Dodge.Data.Hammer where
import Control.Lens
import Data.Aeson
import Data.Aeson.TH
data HammerType
= NoHammer
| HasHammer {_hammerPosition :: HammerPosition}
deriving (Eq, Ord, Show, Read) --Generic, Flat)
data HammerPosition
= HammerDown
| HammerReleased
| HammerUp
deriving (Eq, Ord, Show, Read) --Generic, Flat)
makeLenses ''HammerType
deriveJSON defaultOptions ''HammerPosition
deriveJSON defaultOptions ''HammerType