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.
46 lines
1.3 KiB
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;
|
|
|
|
}
|
|
|
|
}
|
|
}
|
|
|