Files
HawkeyeVision/Plugins/LindtLeerformPlugin/Services/CalibrationDataStore.cs
2026-03-31 13:26:26 +02:00

37 lines
1.0 KiB
C#

using System.Text.Json;
using System.Text.Json.Serialization;
using LindtLeerformPlugin.Models;
namespace LindtLeerformPlugin.Services;
public static class CalibrationDataStore
{
private static readonly string FilePath = Path.Combine("..", "Data", "Config", "calibration.json");
private static readonly JsonSerializerOptions JsonOptions = new()
{
PropertyNameCaseInsensitive = true,
WriteIndented = true,
Converters = { new JsonStringEnumConverter() }
};
public static CalibrationData? Load()
{
if (!File.Exists(FilePath))
return null;
var json = File.ReadAllText(FilePath);
return JsonSerializer.Deserialize<CalibrationData>(json, JsonOptions);
}
public static void Save(CalibrationData data)
{
var directory = Path.GetDirectoryName(FilePath);
if (directory != null)
Directory.CreateDirectory(directory);
var json = JsonSerializer.Serialize(data, JsonOptions);
File.WriteAllText(FilePath, json);
}
}