mise en place dataStatic

This commit was merged in pull request #4.
This commit is contained in:
2024-05-29 23:12:54 +02:00
parent a4847c1641
commit 91679133ac
10 changed files with 127 additions and 4 deletions

View File

@@ -0,0 +1,32 @@
using System.Text.Json;
using LittleTown.Core;
using LittleTown.Core.Ports;
namespace LittleTown.StaticDataAcces;
/// <summary>
/// Implementation du getter de données static en fichier local
/// </summary>
public class StaticDataGetter : IStaticDataGetter
{
/// <inheritdoc/>
public Board GetBoard(int version)
{
string path = Path.Combine(Environment.CurrentDirectory, "../../../../LittleTown.StaticDataAccess/Data/Board1.json");
string data = File.ReadAllText(path);
Board board = JsonSerializer.Deserialize<Board>(data) ?? throw new JsonException("Cannot deserialize Board");
return board;
}
/// <inheritdoc/>
public List<Building> GetBuildings()
{
string path = Path.Combine(Environment.CurrentDirectory, "../../../../LittleTown.StaticDataAccess/Data/Buildings.json");
string data = System.IO.File.ReadAllText(path);
List<Building> buildings = JsonSerializer.Deserialize<List<Building>>(data) ?? throw new JsonException("Cannot deserialize Buildings");
return buildings;
}
}