{-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE DeriveAnyClass #-} {-# LANGUAGE StrictData #-} {-# LANGUAGE TemplateHaskell #-} module Dodge.Data.Item.HeldScroll where import Flat import Control.Lens import Data.Aeson import Data.Aeson.TH import qualified Data.Sequence as Seq import TH.Derive import Data.Store data HeldScroll = HeldScrollDoNothing | HeldScrollZoom | HeldScrollCharMode {_hsCharMode :: Seq.Seq Char} | HeldScrollInt { _hsInt :: Int , _hsMaxInt :: Int } deriving (Eq, Ord, Show, Read, Generic, Flat) makeLenses ''HeldScroll deriveJSON defaultOptions ''HeldScroll