about summary refs log tree commit diff
path: root/lib/Grav2ty/Util/Serialization.hs
blob: ec8459bc40e6ca9fa45a882e6eb46ebf61082b1c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE DeriveGeneric      #-}
{-# LANGUAGE DeriveAnyClass     #-}
module Grav2ty.Util.Serialization where

import Flat
import GHC.Generics
import Grav2ty.Core (Hitbox (..), Object (..), Modifier (..), Modification (..))
import Linear.V2 (V2 (..))

deriving instance Generic (Modification a)
deriving instance Generic (Hitbox a)
deriving instance Generic (Object a)
deriving instance Generic Modifier

deriving instance Flat a => Flat (V2 a)
deriving instance Flat a => Flat (Object a)
deriving instance Flat a => Flat (Hitbox a)
deriving instance Flat a => Flat (Modification a)
deriving instance Flat Modifier