Implemented population center generator

This commit is contained in:
2015-05-22 11:26:29 +03:00
parent e51c74944d
commit b6b2dce32e
23 changed files with 277 additions and 98 deletions

View File

@ -3,7 +3,9 @@ using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Xml.Serialization;
using TransportGame.Business;
using TransportGame.Model;
namespace TransportGame.Utils
{
@ -84,5 +86,10 @@ namespace TransportGame.Utils
{
Log(Level.Critical, "{0}: {1}\nStack trace:{2}", ex.GetType().ToString(), ex.Message, ex.StackTrace);
}
public static void DumpMap(Map map, string filename)
{
map.SerializeXml(Path.Combine(LogsDirectory, filename));
}
}
}

View File

@ -86,11 +86,31 @@ namespace TransportGame.Utils
/// <typeparam name="T">Type to deserialize</typeparam>
/// <param name="filename">File name</param>
/// <returns>Deserialized object</returns>
public static T Deserialize<T>(string filename)
public static T DeserializeXml<T>(string filename)
{
XmlSerializer serializer = new XmlSerializer(typeof(T));
var stream = new StreamReader(filename);
return (T)serializer.Deserialize(stream);
using (var stream = new StreamReader(filename))
{
T data = (T)serializer.Deserialize(stream);
stream.Close();
return data;
}
}
/// <summary>
/// Serializes an object to a file
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="data"></param>
public static void SerializeXml<T>(this T data, string filename)
{
XmlSerializer serializer = new XmlSerializer(typeof(T));
using (StreamWriter writer = new StreamWriter(filename))
{
serializer.Serialize(writer, data);
writer.Close();
}
}
}
}