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(projectFile); } public static GMSprite ImportSprite(FileInfo soundFile) { return ImportResource(soundFile); } private static T ImportResource(FileInfo resourceFile) { return JsonSerializer.Deserialize(File.ReadAllText(resourceFile.FullName), options); } } }