{-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE StrictData #-} module Octane.Type.Value ( Value(..) , module Octane.Type.Value.BooleanValue , module Octane.Type.Value.ByteValue , module Octane.Type.Value.CamSettingsValue , module Octane.Type.Value.DemolishValue , module Octane.Type.Value.EnumValue , module Octane.Type.Value.ExplosionValue , module Octane.Type.Value.FlaggedIntValue , module Octane.Type.Value.FloatValue , module Octane.Type.Value.GameModeValue , module Octane.Type.Value.IntValue , module Octane.Type.Value.LoadoutOnlineValue , module Octane.Type.Value.LoadoutsOnlineValue , module Octane.Type.Value.LoadoutsValue , module Octane.Type.Value.LoadoutValue , module Octane.Type.Value.LocationValue , module Octane.Type.Value.MusicStingerValue , module Octane.Type.Value.PickupValue , module Octane.Type.Value.PrivateMatchSettingsValue , module Octane.Type.Value.QWordValue , module Octane.Type.Value.RelativeRotationValue , module Octane.Type.Value.ReservationValue , module Octane.Type.Value.RigidBodyStateValue , module Octane.Type.Value.StringValue , module Octane.Type.Value.TeamPaintValue , module Octane.Type.Value.UniqueIdValue , module Octane.Type.Value.WeldedInfoValue ) where import Octane.Type.Value.BooleanValue import Octane.Type.Value.ByteValue import Octane.Type.Value.CamSettingsValue import Octane.Type.Value.DemolishValue import Octane.Type.Value.EnumValue import Octane.Type.Value.ExplosionValue import Octane.Type.Value.FlaggedIntValue import Octane.Type.Value.FloatValue import Octane.Type.Value.GameModeValue import Octane.Type.Value.IntValue import Octane.Type.Value.LoadoutOnlineValue import Octane.Type.Value.LoadoutsOnlineValue import Octane.Type.Value.LoadoutsValue import Octane.Type.Value.LoadoutValue import Octane.Type.Value.LocationValue import Octane.Type.Value.MusicStingerValue import Octane.Type.Value.PickupValue import Octane.Type.Value.PrivateMatchSettingsValue import Octane.Type.Value.QWordValue import Octane.Type.Value.RelativeRotationValue import Octane.Type.Value.ReservationValue import Octane.Type.Value.RigidBodyStateValue import Octane.Type.Value.StringValue import Octane.Type.Value.TeamPaintValue import Octane.Type.Value.UniqueIdValue import Octane.Type.Value.WeldedInfoValue import qualified Control.DeepSeq as DeepSeq import qualified Data.Aeson as Aeson import qualified GHC.Generics as Generics -- | A replicated property's value. data Value = ValueBoolean BooleanValue | ValueByte ByteValue | ValueCamSettings CamSettingsValue | ValueDemolish DemolishValue | ValueEnum EnumValue | ValueExplosion ExplosionValue | ValueFlaggedInt FlaggedIntValue | ValueFloat FloatValue | ValueGameMode GameModeValue | ValueInt IntValue | ValueLoadout LoadoutValue | ValueLoadoutOnline LoadoutOnlineValue | ValueLoadouts LoadoutsValue | ValueLoadoutsOnline LoadoutsOnlineValue | ValueLocation LocationValue | ValueMusicStinger MusicStingerValue | ValuePickup PickupValue | ValuePrivateMatchSettings PrivateMatchSettingsValue | ValueQWord QWordValue | ValueRelativeRotation RelativeRotationValue | ValueReservation ReservationValue | ValueRigidBodyState RigidBodyStateValue | ValueString StringValue | ValueTeamPaint TeamPaintValue | ValueUniqueId UniqueIdValue | ValueWeldedInfo WeldedInfoValue deriving (Eq, Generics.Generic, Show) instance DeepSeq.NFData Value instance Aeson.ToJSON Value where toJSON value = case value of ValueBoolean x -> Aeson.toJSON x ValueByte x -> Aeson.toJSON x ValueCamSettings x -> Aeson.toJSON x ValueDemolish x -> Aeson.toJSON x ValueEnum x -> Aeson.toJSON x ValueExplosion x -> Aeson.toJSON x ValueFlaggedInt x -> Aeson.toJSON x ValueFloat x -> Aeson.toJSON x ValueGameMode x -> Aeson.toJSON x ValueInt x -> Aeson.toJSON x ValueLoadout x -> Aeson.toJSON x ValueLoadoutOnline x -> Aeson.toJSON x ValueLoadouts x -> Aeson.toJSON x ValueLoadoutsOnline x -> Aeson.toJSON x ValueLocation x -> Aeson.toJSON x ValueMusicStinger x -> Aeson.toJSON x ValuePickup x -> Aeson.toJSON x ValuePrivateMatchSettings x -> Aeson.toJSON x ValueQWord x -> Aeson.toJSON x ValueRelativeRotation x -> Aeson.toJSON x ValueReservation x -> Aeson.toJSON x ValueRigidBodyState x -> Aeson.toJSON x ValueString x -> Aeson.toJSON x ValueTeamPaint x -> Aeson.toJSON x ValueUniqueId x -> Aeson.toJSON x ValueWeldedInfo x -> Aeson.toJSON x