Files
Pf2eDataScrapper/Pf2eViewer/Converters/LocaleStringConverter.cs
T
2025-04-26 10:53:50 +04:00

42 lines
1004 B
C#

using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Pf2eModel.Model.Common.I18n;
namespace Pf2eViewer.Converters;
public class LocaleStringConverter : JsonConverter
{
public override bool CanConvert(Type objectType)
{
return objectType == typeof(LocaleString);
}
public override void WriteJson(JsonWriter writer, object? value, JsonSerializer serializer)
{
JObject result = new();
LocaleString str = (LocaleString)value!;
foreach (LocaleItem item in str)
{
result.Add(item.Locale.GetTypeString(), item.Value);
}
result.WriteTo(writer);
}
public override bool CanRead => false;
public override object? ReadJson(
JsonReader reader,
Type objectType,
object? existingValue,
JsonSerializer serializer
)
{
throw new NotImplementedException(
"Unnecessary because CanRead is false. The type will skip the converter."
);
}
}