2020-02-27 18:56:49 +01:00
|
|
|
using Newtonsoft.Json;
|
|
|
|
|
|
|
|
namespace MLEM.Data.Json {
|
2020-05-22 20:32:38 +02:00
|
|
|
/// <summary>
|
|
|
|
/// A helper class that stores all of the <see cref="JsonConverter"/> types that are part of MLEM.Data.
|
|
|
|
/// </summary>
|
2020-02-27 18:56:49 +01:00
|
|
|
public class JsonConverters {
|
|
|
|
|
2020-05-22 20:32:38 +02:00
|
|
|
/// <summary>
|
|
|
|
/// An array of all of the <see cref="JsonConverter"/>s that are part of MLEM.Data
|
|
|
|
/// </summary>
|
2022-10-31 18:33:53 +01:00
|
|
|
public static readonly JsonConverter[] Converters = {
|
|
|
|
new Direction2Converter(),
|
|
|
|
new PointConverter(),
|
|
|
|
new RectangleConverter(),
|
|
|
|
new RectangleFConverter(),
|
|
|
|
new Vector2Converter()
|
|
|
|
};
|
2020-02-27 18:56:49 +01:00
|
|
|
|
2020-05-22 20:32:38 +02:00
|
|
|
/// <summary>
|
|
|
|
/// Adds all of the <see cref="JsonConverter"/> objects that are part of MLEM.Data to the given <see cref="JsonSerializer"/>
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="serializer">The serializer to add the converters to</param>
|
|
|
|
/// <returns>The given serializer, for chaining</returns>
|
2020-02-27 18:56:49 +01:00
|
|
|
public static JsonSerializer AddAll(JsonSerializer serializer) {
|
2022-06-15 11:38:11 +02:00
|
|
|
foreach (var converter in JsonConverters.Converters)
|
2020-02-27 18:56:49 +01:00
|
|
|
serializer.Converters.Add(converter);
|
|
|
|
return serializer;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
2022-06-17 18:23:47 +02:00
|
|
|
}
|