Files
space-game/apps/backend/Universe/Bootstrap/SystemTemplateLoader.cs
2026-03-28 11:38:33 -04:00

21 lines
679 B
C#

using System.Text.Json;
using Microsoft.Extensions.Options;
namespace SpaceGame.Api.Universe.Bootstrap;
public sealed class SystemTemplateLoader(IOptions<StaticDataOptions> staticDataOptions)
{
private readonly JsonSerializerOptions _jsonOptions = new()
{
PropertyNameCaseInsensitive = true,
};
internal List<SolarSystemDefinition> Load()
{
var path = Path.Combine(staticDataOptions.Value.DataRoot, "systems.json");
var json = File.ReadAllText(path);
return JsonSerializer.Deserialize<List<SolarSystemDefinition>>(json, _jsonOptions)
?? throw new InvalidOperationException("Unable to read systems.json.");
}
}