{-# LANGUAGE TemplateHaskell #-}

module Rattletrap.Type.WeldedInfoAttribute
  ( WeldedInfoAttribute(..)
  )
where

import Rattletrap.Type.Common
import Rattletrap.Type.Float32le
import Rattletrap.Type.Int32le
import Rattletrap.Type.Int8Vector
import Rattletrap.Type.Vector

data WeldedInfoAttribute = WeldedInfoAttribute
  { WeldedInfoAttribute -> Bool
weldedInfoAttributeActive :: Bool
  , WeldedInfoAttribute -> Int32le
weldedInfoAttributeActorId :: Int32le
  , WeldedInfoAttribute -> Vector
weldedInfoAttributeOffset :: Vector
  , WeldedInfoAttribute -> Float32le
weldedInfoAttributeMass :: Float32le
  , WeldedInfoAttribute -> Int8Vector
weldedInfoAttributeRotation :: Int8Vector
  } deriving (WeldedInfoAttribute -> WeldedInfoAttribute -> Bool
(WeldedInfoAttribute -> WeldedInfoAttribute -> Bool)
-> (WeldedInfoAttribute -> WeldedInfoAttribute -> Bool)
-> Eq WeldedInfoAttribute
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: WeldedInfoAttribute -> WeldedInfoAttribute -> Bool
$c/= :: WeldedInfoAttribute -> WeldedInfoAttribute -> Bool
== :: WeldedInfoAttribute -> WeldedInfoAttribute -> Bool
$c== :: WeldedInfoAttribute -> WeldedInfoAttribute -> Bool
Eq, Eq WeldedInfoAttribute
Eq WeldedInfoAttribute
-> (WeldedInfoAttribute -> WeldedInfoAttribute -> Ordering)
-> (WeldedInfoAttribute -> WeldedInfoAttribute -> Bool)
-> (WeldedInfoAttribute -> WeldedInfoAttribute -> Bool)
-> (WeldedInfoAttribute -> WeldedInfoAttribute -> Bool)
-> (WeldedInfoAttribute -> WeldedInfoAttribute -> Bool)
-> (WeldedInfoAttribute
    -> WeldedInfoAttribute -> WeldedInfoAttribute)
-> (WeldedInfoAttribute
    -> WeldedInfoAttribute -> WeldedInfoAttribute)
-> Ord WeldedInfoAttribute
WeldedInfoAttribute -> WeldedInfoAttribute -> Bool
WeldedInfoAttribute -> WeldedInfoAttribute -> Ordering
WeldedInfoAttribute -> WeldedInfoAttribute -> WeldedInfoAttribute
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 :: WeldedInfoAttribute -> WeldedInfoAttribute -> WeldedInfoAttribute
$cmin :: WeldedInfoAttribute -> WeldedInfoAttribute -> WeldedInfoAttribute
max :: WeldedInfoAttribute -> WeldedInfoAttribute -> WeldedInfoAttribute
$cmax :: WeldedInfoAttribute -> WeldedInfoAttribute -> WeldedInfoAttribute
>= :: WeldedInfoAttribute -> WeldedInfoAttribute -> Bool
$c>= :: WeldedInfoAttribute -> WeldedInfoAttribute -> Bool
> :: WeldedInfoAttribute -> WeldedInfoAttribute -> Bool
$c> :: WeldedInfoAttribute -> WeldedInfoAttribute -> Bool
<= :: WeldedInfoAttribute -> WeldedInfoAttribute -> Bool
$c<= :: WeldedInfoAttribute -> WeldedInfoAttribute -> Bool
< :: WeldedInfoAttribute -> WeldedInfoAttribute -> Bool
$c< :: WeldedInfoAttribute -> WeldedInfoAttribute -> Bool
compare :: WeldedInfoAttribute -> WeldedInfoAttribute -> Ordering
$ccompare :: WeldedInfoAttribute -> WeldedInfoAttribute -> Ordering
$cp1Ord :: Eq WeldedInfoAttribute
Ord, Int -> WeldedInfoAttribute -> ShowS
[WeldedInfoAttribute] -> ShowS
WeldedInfoAttribute -> String
(Int -> WeldedInfoAttribute -> ShowS)
-> (WeldedInfoAttribute -> String)
-> ([WeldedInfoAttribute] -> ShowS)
-> Show WeldedInfoAttribute
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [WeldedInfoAttribute] -> ShowS
$cshowList :: [WeldedInfoAttribute] -> ShowS
show :: WeldedInfoAttribute -> String
$cshow :: WeldedInfoAttribute -> String
showsPrec :: Int -> WeldedInfoAttribute -> ShowS
$cshowsPrec :: Int -> WeldedInfoAttribute -> ShowS
Show)

$(deriveJson ''WeldedInfoAttribute)