From dba43c4e9fbb5f6007f6ad82cb45d5c8af7fc03b Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Tue, 12 Jan 2021 15:33:17 +0100 Subject: [PATCH] Add support for using `ObsoleteAttribute` to upgrade old C# asset/script data format after refactor --- .../JsonCustomSerializers/ExtendedDefaultContractResolver.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Source/Engine/Serialization/JsonCustomSerializers/ExtendedDefaultContractResolver.cs b/Source/Engine/Serialization/JsonCustomSerializers/ExtendedDefaultContractResolver.cs index f6a62dd54..cc07597e8 100644 --- a/Source/Engine/Serialization/JsonCustomSerializers/ExtendedDefaultContractResolver.cs +++ b/Source/Engine/Serialization/JsonCustomSerializers/ExtendedDefaultContractResolver.cs @@ -118,9 +118,11 @@ namespace FlaxEngine.Json.JsonCustomSerializers if (noSerialize) continue; + var isObsolete = attributes.Any(x => x is ObsoleteAttribute); + var jsonProperty = CreateProperty(p, memberSerialization); jsonProperty.Writable = true; - jsonProperty.Readable = true; + jsonProperty.Readable = !isObsolete; if (_flaxType.IsAssignableFrom(p.PropertyType)) {