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; } } }