{-# 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 | InventoryConnectSound | BackgroundSound | OnceSound | CrSound Int | CrMouth Int | CrChasm Int | CrWeaponSound Int Int | ItemSound Int Int | CrWeaponFailSound Int | MachineSound Int | MachineAltSound Int | TerminalSound | WallSound Int | Flamer | ShellSound Int | FlameSound | LasSound | FootstepSound Int | BlockDegradeSound Int | CrHitSound Int | BarrelHiss Int | GlassBreakSound Int | MaterialSound Material Int | TeleSound Int | ButtonSound Int | Explosion Int | Tap Int | EBSound Int | DamageHitSound Int | PBSound Int deriving (Eq, Ord, Show, Read) --Generic, Flat) deriveJSON defaultOptions ''SoundOrigin instance ToJSONKey SoundOrigin instance FromJSONKey SoundOrigin