{-# LANGUAGE TemplateHaskell #-}

module Rattletrap.Type.LoadoutOnlineAttribute
  ( LoadoutOnlineAttribute(..)
  )
where

import Rattletrap.Type.Common
import Rattletrap.Type.ProductAttribute

newtype LoadoutOnlineAttribute = LoadoutOnlineAttribute
  { LoadoutOnlineAttribute -> [[ProductAttribute]]
loadoutAttributeValue :: [[ProductAttribute]]
  } deriving (LoadoutOnlineAttribute -> LoadoutOnlineAttribute -> Bool
(LoadoutOnlineAttribute -> LoadoutOnlineAttribute -> Bool)
-> (LoadoutOnlineAttribute -> LoadoutOnlineAttribute -> Bool)
-> Eq LoadoutOnlineAttribute
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: LoadoutOnlineAttribute -> LoadoutOnlineAttribute -> Bool
$c/= :: LoadoutOnlineAttribute -> LoadoutOnlineAttribute -> Bool
== :: LoadoutOnlineAttribute -> LoadoutOnlineAttribute -> Bool
$c== :: LoadoutOnlineAttribute -> LoadoutOnlineAttribute -> Bool
Eq, Eq LoadoutOnlineAttribute
Eq LoadoutOnlineAttribute
-> (LoadoutOnlineAttribute -> LoadoutOnlineAttribute -> Ordering)
-> (LoadoutOnlineAttribute -> LoadoutOnlineAttribute -> Bool)
-> (LoadoutOnlineAttribute -> LoadoutOnlineAttribute -> Bool)
-> (LoadoutOnlineAttribute -> LoadoutOnlineAttribute -> Bool)
-> (LoadoutOnlineAttribute -> LoadoutOnlineAttribute -> Bool)
-> (LoadoutOnlineAttribute
    -> LoadoutOnlineAttribute -> LoadoutOnlineAttribute)
-> (LoadoutOnlineAttribute
    -> LoadoutOnlineAttribute -> LoadoutOnlineAttribute)
-> Ord LoadoutOnlineAttribute
LoadoutOnlineAttribute -> LoadoutOnlineAttribute -> Bool
LoadoutOnlineAttribute -> LoadoutOnlineAttribute -> Ordering
LoadoutOnlineAttribute
-> LoadoutOnlineAttribute -> LoadoutOnlineAttribute
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 :: LoadoutOnlineAttribute
-> LoadoutOnlineAttribute -> LoadoutOnlineAttribute
$cmin :: LoadoutOnlineAttribute
-> LoadoutOnlineAttribute -> LoadoutOnlineAttribute
max :: LoadoutOnlineAttribute
-> LoadoutOnlineAttribute -> LoadoutOnlineAttribute
$cmax :: LoadoutOnlineAttribute
-> LoadoutOnlineAttribute -> LoadoutOnlineAttribute
>= :: LoadoutOnlineAttribute -> LoadoutOnlineAttribute -> Bool
$c>= :: LoadoutOnlineAttribute -> LoadoutOnlineAttribute -> Bool
> :: LoadoutOnlineAttribute -> LoadoutOnlineAttribute -> Bool
$c> :: LoadoutOnlineAttribute -> LoadoutOnlineAttribute -> Bool
<= :: LoadoutOnlineAttribute -> LoadoutOnlineAttribute -> Bool
$c<= :: LoadoutOnlineAttribute -> LoadoutOnlineAttribute -> Bool
< :: LoadoutOnlineAttribute -> LoadoutOnlineAttribute -> Bool
$c< :: LoadoutOnlineAttribute -> LoadoutOnlineAttribute -> Bool
compare :: LoadoutOnlineAttribute -> LoadoutOnlineAttribute -> Ordering
$ccompare :: LoadoutOnlineAttribute -> LoadoutOnlineAttribute -> Ordering
$cp1Ord :: Eq LoadoutOnlineAttribute
Ord, Int -> LoadoutOnlineAttribute -> ShowS
[LoadoutOnlineAttribute] -> ShowS
LoadoutOnlineAttribute -> String
(Int -> LoadoutOnlineAttribute -> ShowS)
-> (LoadoutOnlineAttribute -> String)
-> ([LoadoutOnlineAttribute] -> ShowS)
-> Show LoadoutOnlineAttribute
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [LoadoutOnlineAttribute] -> ShowS
$cshowList :: [LoadoutOnlineAttribute] -> ShowS
show :: LoadoutOnlineAttribute -> String
$cshow :: LoadoutOnlineAttribute -> String
showsPrec :: Int -> LoadoutOnlineAttribute -> ShowS
$cshowsPrec :: Int -> LoadoutOnlineAttribute -> ShowS
Show)

$(deriveJson ''LoadoutOnlineAttribute)