31 lines
944 B
C#
31 lines
944 B
C#
using YamlDotNet.Serialization;
|
|
using YamlDotNet.Serialization.NamingConventions;
|
|
|
|
namespace Syntriax.Engine.Serialization;
|
|
|
|
public static class Serializer
|
|
{
|
|
private static readonly ISerializer serializer = new SerializerBuilder()
|
|
.WithNamingConvention(PascalCaseNamingConvention.Instance)
|
|
.DisableAliases()
|
|
.WithTypeConverter(new EntityConverter())
|
|
.WithTypeConverter(new Vector2DConverter())
|
|
.Build();
|
|
|
|
private static readonly IDeserializer deserializer = new DeserializerBuilder()
|
|
.WithNamingConvention(PascalCaseNamingConvention.Instance)
|
|
.WithTypeConverter(new EntityConverter())
|
|
.WithTypeConverter(new Vector2DConverter())
|
|
.Build();
|
|
|
|
public static string Serialize(object instance)
|
|
{
|
|
return serializer.Serialize(instance);
|
|
}
|
|
|
|
public static T Deserialize<T>(string yaml)
|
|
{
|
|
return deserializer.Deserialize<T>(yaml);
|
|
}
|
|
}
|