From 26d37103ba3413de8cad3c71c1ff4050929ca9f1 Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Wed, 11 Aug 2021 14:58:56 +0200 Subject: [PATCH] Fix some problems with LocalizedString serialization in C# --- Source/Engine/Serialization/JsonConverters.cs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Source/Engine/Serialization/JsonConverters.cs b/Source/Engine/Serialization/JsonConverters.cs index 3130b597f..3da6342e2 100644 --- a/Source/Engine/Serialization/JsonConverters.cs +++ b/Source/Engine/Serialization/JsonConverters.cs @@ -244,16 +244,21 @@ namespace FlaxEngine.Json /// public override void WriteJson(JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer) { +#if FLAX_EDITOR + bool writeTypename = (serializer.TypeNameHandling & TypeNameHandling.Objects) == TypeNameHandling.Objects; +#else + bool writeTypename = false; +#endif var str = (LocalizedString)value; - if (string.IsNullOrEmpty(str.Id)) + if (string.IsNullOrEmpty(str.Id) && !writeTypename) { - writer.WriteValue(str.Value); + writer.WriteValue(str.Value ?? string.Empty); } else { writer.WriteStartObject(); #if FLAX_EDITOR - if ((serializer.TypeNameHandling & TypeNameHandling.Objects) == TypeNameHandling.Objects) + if (writeTypename) { writer.WritePropertyName("$type"); writer.WriteValue("FlaxEngine.LocalizedString, FlaxEngine.CSharp");