Replace Newtonsoft.Json with System.Text.Json (#869)

* Converted to use `System.Text.Json`

* Remove Newtonsoft.Json Dependency
Newtonsoft.Json dependency has been removed in favor of System.Text.Json

* Treat MGFXO file as binary
This commit is contained in:
Christopher Whitley
2024-05-22 23:23:36 -04:00
committed by GitHub
parent ee0883ebb4
commit d008b1bd41
57 changed files with 1120 additions and 919 deletions
@@ -0,0 +1,34 @@
using System.Text.Json;
using System.Text.Json.Serialization;
using MonoGame.Extended.Serialization;
namespace MonoGame.Extended.Particles.Serialization;
public static class ParticleJsonSerializerOptionsProvider
{
public static JsonSerializerOptions GetOptions(ITextureRegionService textureRegionService)
{
var options = new JsonSerializerOptions
{
WriteIndented = true,
DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull,
PropertyNamingPolicy = JsonNamingPolicy.CamelCase
};
options.Converters.Add(new Vector2JsonConverter());
options.Converters.Add(new Size2JsonConverter());
options.Converters.Add(new ColorJsonConverter());
options.Converters.Add(new TextureRegion2DJsonConverter(textureRegionService));
options.Converters.Add(new ProfileJsonConverter());
options.Converters.Add(new ModifierJsonConverter());
options.Converters.Add(new InterpolatorJsonConverter());
options.Converters.Add(new TimeSpanJsonConverter());
options.Converters.Add(new RangeJsonConverter<int>());
options.Converters.Add(new RangeJsonConverter<float>());
options.Converters.Add(new RangeJsonConverter<HslColor>());
options.Converters.Add(new HslColorJsonConverter());
options.Converters.Add(new ModifierExecutionStrategyJsonConverter());
return options;
}
}