module Game.LambdaHack.Server.Config
( Config(..)
) where
import Control.DeepSeq
import Data.Binary
import Data.Text (Text)
import Game.LambdaHack.Server.Fov
data Config = Config
{ configSelfString :: !String
, configFirstDeathEnds :: !Bool
, configFovMode :: !FovMode
, configSaveBkpClips :: !Int
, configAppDataDir :: !FilePath
, configScoresFile :: !FilePath
, configRulesCfgFile :: !FilePath
, configSavePrefix :: !String
, configHeroNames :: ![(Int, Text)]
}
deriving Show
instance NFData Config
instance Binary Config where
put Config{..} = do
put configSelfString
put configFirstDeathEnds
put configFovMode
put configSaveBkpClips
put configAppDataDir
put configScoresFile
put configRulesCfgFile
put configSavePrefix
put configHeroNames
get = do
configSelfString <- get
configFirstDeathEnds <- get
configFovMode <- get
configSaveBkpClips <- get
configAppDataDir <- get
configScoresFile <- get
configRulesCfgFile <- get
configSavePrefix <- get
configHeroNames <- get
return Config{..}