{-# LANGUAGE TemplateHaskell #-}

module Rattletrap.Type.PrivateMatchSettingsAttribute
  ( PrivateMatchSettingsAttribute(..)
  )
where

import Rattletrap.Type.Common
import Rattletrap.Type.Str
import Rattletrap.Type.Word32le

data PrivateMatchSettingsAttribute = PrivateMatchSettingsAttribute
  { PrivateMatchSettingsAttribute -> Str
privateMatchSettingsAttributeMutators :: Str
  , PrivateMatchSettingsAttribute -> Word32le
privateMatchSettingsAttributeJoinableBy :: Word32le
  , PrivateMatchSettingsAttribute -> Word32le
privateMatchSettingsAttributeMaxPlayers :: Word32le
  , PrivateMatchSettingsAttribute -> Str
privateMatchSettingsAttributeGameName :: Str
  , PrivateMatchSettingsAttribute -> Str
privateMatchSettingsAttributePassword :: Str
  , PrivateMatchSettingsAttribute -> Bool
privateMatchSettingsAttributeFlag :: Bool
  } deriving (PrivateMatchSettingsAttribute
-> PrivateMatchSettingsAttribute -> Bool
(PrivateMatchSettingsAttribute
 -> PrivateMatchSettingsAttribute -> Bool)
-> (PrivateMatchSettingsAttribute
    -> PrivateMatchSettingsAttribute -> Bool)
-> Eq PrivateMatchSettingsAttribute
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PrivateMatchSettingsAttribute
-> PrivateMatchSettingsAttribute -> Bool
$c/= :: PrivateMatchSettingsAttribute
-> PrivateMatchSettingsAttribute -> Bool
== :: PrivateMatchSettingsAttribute
-> PrivateMatchSettingsAttribute -> Bool
$c== :: PrivateMatchSettingsAttribute
-> PrivateMatchSettingsAttribute -> Bool
Eq, Eq PrivateMatchSettingsAttribute
Eq PrivateMatchSettingsAttribute
-> (PrivateMatchSettingsAttribute
    -> PrivateMatchSettingsAttribute -> Ordering)
-> (PrivateMatchSettingsAttribute
    -> PrivateMatchSettingsAttribute -> Bool)
-> (PrivateMatchSettingsAttribute
    -> PrivateMatchSettingsAttribute -> Bool)
-> (PrivateMatchSettingsAttribute
    -> PrivateMatchSettingsAttribute -> Bool)
-> (PrivateMatchSettingsAttribute
    -> PrivateMatchSettingsAttribute -> Bool)
-> (PrivateMatchSettingsAttribute
    -> PrivateMatchSettingsAttribute -> PrivateMatchSettingsAttribute)
-> (PrivateMatchSettingsAttribute
    -> PrivateMatchSettingsAttribute -> PrivateMatchSettingsAttribute)
-> Ord PrivateMatchSettingsAttribute
PrivateMatchSettingsAttribute
-> PrivateMatchSettingsAttribute -> Bool
PrivateMatchSettingsAttribute
-> PrivateMatchSettingsAttribute -> Ordering
PrivateMatchSettingsAttribute
-> PrivateMatchSettingsAttribute -> PrivateMatchSettingsAttribute
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: PrivateMatchSettingsAttribute
-> PrivateMatchSettingsAttribute -> PrivateMatchSettingsAttribute
$cmin :: PrivateMatchSettingsAttribute
-> PrivateMatchSettingsAttribute -> PrivateMatchSettingsAttribute
max :: PrivateMatchSettingsAttribute
-> PrivateMatchSettingsAttribute -> PrivateMatchSettingsAttribute
$cmax :: PrivateMatchSettingsAttribute
-> PrivateMatchSettingsAttribute -> PrivateMatchSettingsAttribute
>= :: PrivateMatchSettingsAttribute
-> PrivateMatchSettingsAttribute -> Bool
$c>= :: PrivateMatchSettingsAttribute
-> PrivateMatchSettingsAttribute -> Bool
> :: PrivateMatchSettingsAttribute
-> PrivateMatchSettingsAttribute -> Bool
$c> :: PrivateMatchSettingsAttribute
-> PrivateMatchSettingsAttribute -> Bool
<= :: PrivateMatchSettingsAttribute
-> PrivateMatchSettingsAttribute -> Bool
$c<= :: PrivateMatchSettingsAttribute
-> PrivateMatchSettingsAttribute -> Bool
< :: PrivateMatchSettingsAttribute
-> PrivateMatchSettingsAttribute -> Bool
$c< :: PrivateMatchSettingsAttribute
-> PrivateMatchSettingsAttribute -> Bool
compare :: PrivateMatchSettingsAttribute
-> PrivateMatchSettingsAttribute -> Ordering
$ccompare :: PrivateMatchSettingsAttribute
-> PrivateMatchSettingsAttribute -> Ordering
$cp1Ord :: Eq PrivateMatchSettingsAttribute
Ord, Int -> PrivateMatchSettingsAttribute -> ShowS
[PrivateMatchSettingsAttribute] -> ShowS
PrivateMatchSettingsAttribute -> String
(Int -> PrivateMatchSettingsAttribute -> ShowS)
-> (PrivateMatchSettingsAttribute -> String)
-> ([PrivateMatchSettingsAttribute] -> ShowS)
-> Show PrivateMatchSettingsAttribute
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PrivateMatchSettingsAttribute] -> ShowS
$cshowList :: [PrivateMatchSettingsAttribute] -> ShowS
show :: PrivateMatchSettingsAttribute -> String
$cshow :: PrivateMatchSettingsAttribute -> String
showsPrec :: Int -> PrivateMatchSettingsAttribute -> ShowS
$cshowsPrec :: Int -> PrivateMatchSettingsAttribute -> ShowS
Show)

$(deriveJson ''PrivateMatchSettingsAttribute)