Add Store instances
This commit is contained in:
+14
-12
@@ -5,6 +5,8 @@
|
||||
|
||||
module Dodge.Data.Terminal where
|
||||
|
||||
import TH.Derive
|
||||
import Data.Store
|
||||
import Data.Binary
|
||||
import Flat
|
||||
import LinearHelp ()
|
||||
@@ -18,7 +20,6 @@ import Dodge.Data.WorldEffect
|
||||
|
||||
data TerminalStatus = TerminalOff | TerminalBusy | TerminalReady
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary TerminalStatus
|
||||
|
||||
data TerminalInput = TerminalInput
|
||||
{ _tiText :: T.Text
|
||||
@@ -26,14 +27,12 @@ data TerminalInput = TerminalInput
|
||||
, _tiSel :: (Int, Int)
|
||||
}
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary TerminalInput
|
||||
|
||||
data TerminalBootProgram
|
||||
= TerminalBootMempty
|
||||
| TerminalBootLines [TerminalLine]
|
||||
deriving (Eq, Show, Read, Generic)
|
||||
--hderiving (Eq, Show, Read, Generic, Flat)
|
||||
--instance Binary TerminalBootProgram
|
||||
|
||||
data Terminal = Terminal
|
||||
{ _tmID :: Int
|
||||
@@ -55,18 +54,15 @@ data Terminal = Terminal
|
||||
}
|
||||
deriving (Eq, Show, Read, Generic)
|
||||
--hderiving (Eq, Show, Read, Generic, Flat)
|
||||
--instance Binary Terminal
|
||||
|
||||
data TerminalLineString = TerminalLineConst String Color
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary TerminalLineString
|
||||
|
||||
data TmTm
|
||||
= TmId
|
||||
| TmTmClearDisplayedLines
|
||||
| TmTmSetStatus TerminalStatus
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary TmTm
|
||||
|
||||
data TerminalLine
|
||||
= TerminalLineDisplay
|
||||
@@ -83,21 +79,18 @@ data TerminalLine
|
||||
}
|
||||
deriving (Eq, Show, Read, Generic)
|
||||
--hderiving (Eq, Show, Read, Generic, Flat)
|
||||
--instance Binary TerminalLine
|
||||
|
||||
data TerminalToggle = TerminalToggle
|
||||
{ _ttTriggerID :: Int
|
||||
, _ttDeathEffect :: BlBl
|
||||
}
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary TerminalToggle
|
||||
|
||||
data BlBl
|
||||
= BlNegate
|
||||
| BlConst Bool
|
||||
| BlId
|
||||
deriving (Eq, Ord, Show, Read, Generic, Flat)
|
||||
instance Binary BlBl
|
||||
|
||||
data EffectArguments
|
||||
= NoArguments {_cmdEffect :: [TerminalLine]}
|
||||
@@ -107,7 +100,6 @@ data EffectArguments
|
||||
}
|
||||
deriving (Eq, Show, Read, Generic)
|
||||
--hderiving (Eq, Show, Read, Generic, Flat)
|
||||
--instance Binary EffectArguments
|
||||
|
||||
data TerminalCommandEffect
|
||||
= TerminalCommandArguments EffectArguments
|
||||
@@ -121,7 +113,6 @@ data TerminalCommandEffect
|
||||
| TerminalCommandEffectNone
|
||||
deriving (Eq, Show, Read, Generic)
|
||||
--hderiving (Eq, Show, Read, Generic, Flat)
|
||||
--instance Binary TerminalCommandEffect
|
||||
|
||||
data TerminalCommand = TerminalCommand
|
||||
{ _tcString :: String
|
||||
@@ -131,7 +122,6 @@ data TerminalCommand = TerminalCommand
|
||||
}
|
||||
deriving (Eq, Show, Read, Generic)
|
||||
--hderiving (Eq, Show, Read, Generic, Flat)
|
||||
--instance Binary TerminalCommand
|
||||
|
||||
makeLenses ''TerminalInput
|
||||
makeLenses ''Terminal
|
||||
@@ -151,3 +141,15 @@ deriveJSON defaultOptions ''BlBl
|
||||
deriveJSON defaultOptions ''EffectArguments
|
||||
deriveJSON defaultOptions ''TerminalCommandEffect
|
||||
deriveJSON defaultOptions ''TerminalCommand
|
||||
$($(derive [d| instance Deriving (Store BlBl) |]))
|
||||
$($(derive [d| instance Deriving (Store EffectArguments) |]))
|
||||
$($(derive [d| instance Deriving (Store TerminalCommandEffect) |]))
|
||||
$($(derive [d| instance Deriving (Store TerminalCommand ) |]))
|
||||
$($(derive [d| instance Deriving (Store TerminalStatus ) |]))
|
||||
$($(derive [d| instance Deriving (Store TerminalInput ) |]))
|
||||
$($(derive [d| instance Deriving (Store TerminalBootProgram) |]))
|
||||
$($(derive [d| instance Deriving (Store Terminal ) |]))
|
||||
$($(derive [d| instance Deriving (Store TerminalLineString ) |]))
|
||||
$($(derive [d| instance Deriving (Store TmTm) |]))
|
||||
$($(derive [d| instance Deriving (Store TerminalLine) |]))
|
||||
$($(derive [d| instance Deriving (Store TerminalToggle ) |]))
|
||||
|
||||
Reference in New Issue
Block a user