Add Store instances

This commit is contained in:
2022-08-21 12:21:05 +01:00
parent 1ce7d4a72d
commit dd62e30026
92 changed files with 465 additions and 255 deletions
+14 -12
View File
@@ -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 ) |]))