Palettizer/src/Importer.cs

36 lines
921 B
C#

using System.IO;
using System.Text.Json;
using System.Text.Json.Serialization;
namespace Palettizer
{
public static class Importer
{
static JsonSerializerOptions options = new JsonSerializerOptions
{
PropertyNameCaseInsensitive = true,
AllowTrailingCommas = true
};
static Importer()
{
options.Converters.Add(new JsonStringEnumConverter());
}
public static GMProject ImportProject(FileInfo projectFile)
{
return ImportResource<GMProject>(projectFile);
}
public static GMSprite ImportSprite(FileInfo soundFile)
{
return ImportResource<GMSprite>(soundFile);
}
private static T ImportResource<T>(FileInfo resourceFile)
{
return JsonSerializer.Deserialize<T>(File.ReadAllText(resourceFile.FullName), options);
}
}
}