{-# LANGUAGE TemplateHaskell #-}

module Rattletrap.Type.PickupAttribute
  ( PickupAttribute(..)
  )
where

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

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

$(deriveJson ''PickupAttribute)