{-# LANGUAGE TemplateHaskell #-}

module Rattletrap.Type.LoadoutsAttribute
  ( LoadoutsAttribute(..)
  )
where

import Rattletrap.Type.Common
import Rattletrap.Type.LoadoutAttribute

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

$(deriveJson ''LoadoutsAttribute)