{-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE DeriveAnyClass #-} {-# LANGUAGE StrictData #-} {-# LANGUAGE TemplateHaskell #-} module Dodge.Data.SoundOrigin where import Data.Aeson import Data.Aeson.TH import Dodge.Data.Material data SoundOrigin = InventorySound | BackgroundSound | OnceSound | CrSound Int | CrMouth Int | CrWeaponSound Int Int | MachineSound Int | MachineAltSound Int | TerminalSound | WallSound Int | CrReloadSound Int | Flamer | ShellSound Int | FlameSound | LasSound | FootstepSound Int | BlockDegradeSound Int | CrHitSound Int | BarrelHiss Int | GlassBreakSound Int | MaterialSound Material Int | TeleSound Int | LeverSound Int | Explosion Int | Tap Int deriving (Eq, Ord, Show, Read) --Generic, Flat) deriveJSON defaultOptions ''SoundOrigin instance ToJSONKey SoundOrigin instance FromJSONKey SoundOrigin