{-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE StrictData #-} module Dodge.Data.SoundOrigin where import Dodge.Data.Material import GHC.Generics import Data.Aeson 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) instance ToJSON SoundOrigin where toEncoding = genericToEncoding defaultOptions instance FromJSON SoundOrigin