42 lines
1004 B
C#
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."
|
|
);
|
|
}
|
|
}
|