diff --git a/Source/Engine/Audio/AudioSettings.h b/Source/Engine/Audio/AudioSettings.h
index f4f901b97..edff00390 100644
--- a/Source/Engine/Audio/AudioSettings.h
+++ b/Source/Engine/Audio/AudioSettings.h
@@ -3,7 +3,6 @@
#pragma once
#include "Engine/Core/Config/Settings.h"
-#include "Engine/Serialization/Serialization.h"
///
/// Audio settings container.
@@ -11,6 +10,7 @@
API_CLASS(sealed, Namespace="FlaxEditor.Content.Settings") class FLAXENGINE_API AudioSettings : public SettingsBase
{
DECLARE_SCRIPTING_TYPE_MINIMAL(AudioSettings);
+ API_AUTO_SERIALIZATION();
public:
///
@@ -46,12 +46,4 @@ public:
// [SettingsBase]
void Apply() override;
-
- void Deserialize(DeserializeStream& stream, ISerializeModifier* modifier) final override
- {
- DESERIALIZE(DisableAudio);
- DESERIALIZE(DopplerFactor);
- DESERIALIZE(MuteOnFocusLoss);
- DESERIALIZE(EnableHRTF);
- }
};
diff --git a/Source/Engine/Core/Config/BuildSettings.h b/Source/Engine/Core/Config/BuildSettings.h
index 075fd926f..86bc9571f 100644
--- a/Source/Engine/Core/Config/BuildSettings.h
+++ b/Source/Engine/Core/Config/BuildSettings.h
@@ -3,7 +3,6 @@
#pragma once
#include "Engine/Core/Config/Settings.h"
-#include "Engine/Serialization/Serialization.h"
#include "Engine/Core/Collections/Array.h"
#include "Engine/Content/Asset.h"
#include "Engine/Content/AssetReference.h"
@@ -15,6 +14,7 @@
API_CLASS(sealed, Namespace="FlaxEditor.Content.Settings") class FLAXENGINE_API BuildSettings : public SettingsBase
{
DECLARE_SCRIPTING_TYPE_MINIMAL(BuildSettings);
+ API_AUTO_SERIALIZATION();
public:
///
@@ -106,21 +106,4 @@ public:
/// Gets the instance of the settings asset (default value if missing). Object returned by this method is always loaded with valid data to use.
///
static BuildSettings* Get();
-
- // [SettingsBase]
- void Deserialize(DeserializeStream& stream, ISerializeModifier* modifier) final override
- {
- DESERIALIZE(MaxAssetsPerPackage);
- DESERIALIZE(MaxPackageSizeMB);
- DESERIALIZE(ContentKey);
- DESERIALIZE(ForDistribution);
- DESERIALIZE(SkipPackaging);
- DESERIALIZE(AdditionalAssets);
- DESERIALIZE(AdditionalAssetFolders);
- DESERIALIZE(ShadersNoOptimize);
- DESERIALIZE(ShadersGenerateDebugData);
- DESERIALIZE(SkipDefaultFonts);
- DESERIALIZE(SkipDotnetPackaging);
- DESERIALIZE(SkipUnusedDotnetLibsPackaging);
- }
};
diff --git a/Source/Engine/Core/Config/GameSettings.cpp b/Source/Engine/Core/Config/GameSettings.cpp
index 76fb0f437..11617612f 100644
--- a/Source/Engine/Core/Config/GameSettings.cpp
+++ b/Source/Engine/Core/Config/GameSettings.cpp
@@ -22,6 +22,7 @@
#include "Engine/Engine/Globals.h"
#include "Engine/Profiler/ProfilerCPU.h"
#include "Engine/Streaming/StreamingSettings.h"
+#include "Engine/Serialization/Serialization.h"
#if FLAX_TESTS || USE_EDITOR
#include "Engine/Platform/FileSystem.h"
#endif
diff --git a/Source/Engine/Core/Config/GameSettings.h b/Source/Engine/Core/Config/GameSettings.h
index d28dcaa56..59e504b6b 100644
--- a/Source/Engine/Core/Config/GameSettings.h
+++ b/Source/Engine/Core/Config/GameSettings.h
@@ -12,9 +12,9 @@
///
API_CLASS(sealed, Namespace="FlaxEditor.Content.Settings") class FLAXENGINE_API GameSettings : public SettingsBase
{
-DECLARE_SCRIPTING_TYPE_MINIMAL(GameSettings);
-public:
+ DECLARE_SCRIPTING_TYPE_MINIMAL(GameSettings);
+public:
///
/// The product full name.
///
@@ -59,7 +59,6 @@ public:
Dictionary CustomSettings;
public:
-
// Settings containers
Guid Time;
Guid Audio;
@@ -87,7 +86,6 @@ public:
Guid iOSPlatform;
public:
-
///
/// Gets the instance of the game settings asset (null if missing). Object returned by this method is always loaded with valid data to use.
///
diff --git a/Source/Engine/Core/Config/LayersTagsSettings.h b/Source/Engine/Core/Config/LayersTagsSettings.h
index 39d7506d5..20e3977a7 100644
--- a/Source/Engine/Core/Config/LayersTagsSettings.h
+++ b/Source/Engine/Core/Config/LayersTagsSettings.h
@@ -11,9 +11,9 @@
///
API_CLASS(sealed, Namespace="FlaxEditor.Content.Settings") class FLAXENGINE_API LayersAndTagsSettings : public SettingsBase
{
-DECLARE_SCRIPTING_TYPE_MINIMAL(LayersAndTagsSettings);
-public:
+ DECLARE_SCRIPTING_TYPE_MINIMAL(LayersAndTagsSettings);
+public:
///
/// The tag names.
///
@@ -25,7 +25,6 @@ public:
String Layers[32];
public:
-
///
/// Gets the instance of the settings asset (default value if missing). Object returned by this method is always loaded with valid data to use.
///
diff --git a/Source/Engine/Core/Config/TimeSettings.h b/Source/Engine/Core/Config/TimeSettings.h
index 2a5a39a72..3edd83195 100644
--- a/Source/Engine/Core/Config/TimeSettings.h
+++ b/Source/Engine/Core/Config/TimeSettings.h
@@ -9,9 +9,10 @@
///
API_CLASS(sealed, Namespace="FlaxEditor.Content.Settings") class FLAXENGINE_API TimeSettings : public SettingsBase
{
-DECLARE_SCRIPTING_TYPE_MINIMAL(TimeSettings);
-public:
+ DECLARE_SCRIPTING_TYPE_MINIMAL(TimeSettings);
+ API_AUTO_SERIALIZATION();
+public:
///
/// The target amount of the game logic updates per second (script updates frequency).
///
@@ -43,7 +44,6 @@ public:
float MaxUpdateDeltaTime = 0.1f;
public:
-
///
/// Gets the instance of the settings asset (default value if missing). Object returned by this method is always loaded with valid data to use.
///
@@ -51,5 +51,4 @@ public:
// [SettingsBase]
void Apply() override;
- void Deserialize(DeserializeStream& stream, ISerializeModifier* modifier) final override;
};
diff --git a/Source/Engine/Engine/Time.cpp b/Source/Engine/Engine/Time.cpp
index 4903a576e..6df5275f5 100644
--- a/Source/Engine/Engine/Time.cpp
+++ b/Source/Engine/Engine/Time.cpp
@@ -54,15 +54,6 @@ void TimeSettings::Apply()
::MaxUpdateDeltaTime = MaxUpdateDeltaTime;
}
-void TimeSettings::Deserialize(DeserializeStream& stream, ISerializeModifier* modifier)
-{
- DESERIALIZE(UpdateFPS);
- DESERIALIZE(PhysicsFPS);
- DESERIALIZE(DrawFPS);
- DESERIALIZE(TimeScale);
- DESERIALIZE(MaxUpdateDeltaTime);
-}
-
void Time::TickData::OnBeforeRun(float targetFps, double currentTime)
{
Time = UnscaledTime = TimeSpan::Zero();
diff --git a/Source/Engine/Input/InputSettings.h b/Source/Engine/Input/InputSettings.h
index 9f03db243..b251eaf3c 100644
--- a/Source/Engine/Input/InputSettings.h
+++ b/Source/Engine/Input/InputSettings.h
@@ -12,6 +12,7 @@
API_CLASS(sealed, Namespace="FlaxEditor.Content.Settings") class FLAXENGINE_API InputSettings : public SettingsBase
{
DECLARE_SCRIPTING_TYPE_MINIMAL(InputSettings);
+
public:
///
/// Maps a discrete button or key press events to a "friendly name" that will later be bound to event-driven behavior. The end effect is that pressing (and/or releasing) a key, mouse button, or keypad button.
diff --git a/Source/Engine/Localization/LocalizationSettings.h b/Source/Engine/Localization/LocalizationSettings.h
index 0f5e1d99c..cfd391cc3 100644
--- a/Source/Engine/Localization/LocalizationSettings.h
+++ b/Source/Engine/Localization/LocalizationSettings.h
@@ -12,6 +12,7 @@
API_CLASS(sealed, Namespace="FlaxEditor.Content.Settings") class FLAXENGINE_API LocalizationSettings : public SettingsBase
{
DECLARE_SCRIPTING_TYPE_MINIMAL(LocalizationSettings);
+
public:
///
/// The list of the string localization tables used by the game.
diff --git a/Source/Engine/Navigation/NavigationSettings.h b/Source/Engine/Navigation/NavigationSettings.h
index 62671433f..f4e6c26fa 100644
--- a/Source/Engine/Navigation/NavigationSettings.h
+++ b/Source/Engine/Navigation/NavigationSettings.h
@@ -12,6 +12,7 @@
API_CLASS(sealed, Namespace="FlaxEditor.Content.Settings", NoConstructor) class FLAXENGINE_API NavigationSettings : public SettingsBase
{
DECLARE_SCRIPTING_TYPE_MINIMAL(NavigationSettings);
+
public:
///
/// If checked, enables automatic navmesh actors spawning on a scenes that are using it during navigation building.
diff --git a/Source/Engine/Networking/NetworkSettings.h b/Source/Engine/Networking/NetworkSettings.h
index 98340e369..c861114f9 100644
--- a/Source/Engine/Networking/NetworkSettings.h
+++ b/Source/Engine/Networking/NetworkSettings.h
@@ -10,8 +10,9 @@
///
API_CLASS(sealed, Namespace="FlaxEditor.Content.Settings") class FLAXENGINE_API NetworkSettings : public SettingsBase
{
- API_AUTO_SERIALIZATION();
DECLARE_SCRIPTING_TYPE_MINIMAL(NetworkSettings);
+ API_AUTO_SERIALIZATION();
+
public:
///
/// Maximum amount of active network clients in a game session. Used by server or host to limit amount of players and spectators.
diff --git a/Source/Engine/Physics/PhysicsSettings.h b/Source/Engine/Physics/PhysicsSettings.h
index eefbacc87..fca1ea2d4 100644
--- a/Source/Engine/Physics/PhysicsSettings.h
+++ b/Source/Engine/Physics/PhysicsSettings.h
@@ -56,6 +56,7 @@ API_ENUM() enum class PhysicsSolverType
API_CLASS(sealed, Namespace="FlaxEditor.Content.Settings", NoConstructor) class FLAXENGINE_API PhysicsSettings : public SettingsBase
{
DECLARE_SCRIPTING_TYPE_MINIMAL(PhysicsSettings);
+
public:
///
/// The default gravity force value (in cm^2/s).