packages feed

fearOfView-0.1.0.0: Serialise.hs

{-# OPTIONS_GHC -fno-warn-orphans #-}

{-# LANGUAGE DeriveGeneric      #-}
{-# LANGUAGE StandaloneDeriving #-}

module Serialise where

import           Codec.Serialise
import           GHC.Generics
import           System.Random.Internal
import           System.Random.SplitMix

import           Creature
import           Equipment
import           Exit
import           Item
import           Power
import           Wall

import qualified Board                  as B
import qualified BoardConf              as BC
import qualified Game                   as G
import qualified Highscore              as HS
import qualified Inventory              as I
import qualified Pos                    as P
import qualified RollFrom               as RF
import qualified Tutorial               as T

instance Serialise P.Pos
deriving instance Generic P.WPos
instance Serialise P.WPos
deriving instance Generic P.Dir
instance Serialise P.Dir
deriving instance Generic Creature
instance Serialise Creature
deriving instance Generic Item
instance Serialise Item
deriving instance Generic Equipment
instance Serialise Equipment
deriving instance Generic Wall
instance Serialise Wall
deriving instance Generic Exit
instance Serialise Exit
deriving instance Generic PowerType
instance Serialise PowerType
deriving instance Generic Power
instance Serialise Power
deriving instance Generic a => Generic (RF.RollFrom a)
instance (Generic a, Serialise a) => Serialise (RF.RollFrom a)
deriving instance Generic BC.BoardConf
instance Serialise BC.BoardConf
deriving instance Generic BC.Diffable
instance Serialise BC.Diffable
deriving instance Generic a => Generic (BC.RollFromDiff a)
instance (Generic a, Serialise a) => Serialise (BC.RollFromDiff a)
deriving instance Generic B.Status
instance Serialise B.Status
deriving instance Generic B.Board
instance Serialise B.Board
deriving instance Generic B.Alert
instance Serialise B.Alert
deriving instance Generic B.Transition
instance Serialise B.Transition
deriving instance Generic InvItem
instance Serialise InvItem
deriving instance Generic I.Inventory
instance Serialise I.Inventory

deriving instance Generic T.Type
instance Serialise T.Type
deriving instance Generic T.Beat
instance Serialise T.Beat

instance Serialise SMGen where
    encode = encode . show
    decode = read <$> decode

deriving instance Generic StdGen
instance Serialise StdGen

deriving instance Generic G.Game
instance Serialise G.Game

deriving instance Generic HS.Highscore
instance Serialise HS.Highscore