Files
MonoGame.Extended/source/MonoGame.Extended.Particles/Serialization/TimeSpanJsonConverter.cs
T
2024-05-18 19:59:41 -04:00

30 lines
875 B
C#

using System;
using Newtonsoft.Json;
namespace MonoGame.Extended.Particles.Serialization
{
public class TimeSpanJsonConverter : JsonConverter
{
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
var timeSpan = (TimeSpan) value;
writer.WriteValue(timeSpan.TotalSeconds);
}
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
if (reader.ValueType == typeof(double))
{
var seconds = (double) reader.Value;
return TimeSpan.FromSeconds(seconds);
}
return TimeSpan.Zero;
}
public override bool CanConvert(Type objectType)
{
return objectType == typeof(TimeSpan);
}
}
}