You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
SAE_2.01_JEU_DE_DAME/Dames/Models/Peristance/JsonSerializer.cs

46 lines
1.3 KiB

using Models.Jeux.Plateau;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization.Json;
using System.Text;
using System.Text.Json;
using System.Threading.Tasks;
namespace Models.Peristance
{
public class JsonSerializer : ISerializer
{
public void Save(string chemin, Partie p)
{
DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(Partie));
MemoryStream memoryStream = new MemoryStream();
jsonSerializer.WriteObject(memoryStream, p);
using (FileStream stream = File.Create(chemin+ "//partieEnCours.json"))
{
memoryStream.WriteTo(stream);
}
}
public Partie Get(string chemin)
{
Partie p = new Partie();
DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(Partie));
using (FileStream stream = File.OpenRead(chemin + "//partieEnCours.json"))
{
p = jsonSerializer.ReadObject(stream) as Partie;
}
foreach(var item in p.Plateau.ListeCases)
{
item.Pion2 = p.Plateau.recherchePion(item);
}
return p;
}
}
}