octane-0.13.0: library/Octane/Type/Initialization.hs
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE StrictData #-}
module Octane.Type.Initialization (Initialization(..)) where
import qualified Control.DeepSeq as DeepSeq
import qualified GHC.Generics as Generics
import qualified Octane.Type.Int8 as Int8
import qualified Octane.Type.Vector as Vector
-- | Information about a new instance of a class.
--
-- This cannot be an instance of 'Data.Binary.Bits.BinaryBit' because it
-- requires out-of-band information (the class name) to decode.
data Initialization = Initialization
{ location :: Maybe (Vector.Vector Int)
-- ^ The instance's initial position.
, rotation :: Maybe (Vector.Vector Int8.Int8)
-- ^ The instance's initial rotation.
} deriving (Eq, Generics.Generic, Show)
instance DeepSeq.NFData Initialization where