muddesigner/Mud Designer/MudEngine/FileSystem/XmlSerialization.cs
Scionwest_cp afd74530cd Engine:
- Corrected SaveDataTypes.Currency being named incorrectly. Changed to Currencies
 - ProjectInformation now inherits from the new IFileIO interface.
 - ProjectInformation.Load can be used instead of the FileManager now (note: Saving of ProjectInformation must still be done using FileManager)
 - Organizing of BaseObject done
 - BaseObject now supports BaseObject.Load. Use this instead of FileManager.Load
 - Fixed UIRealmControl error, attempting to deserialize into a null Zone Field
 - Program.cs is now encapsulated into a try/catch
 - IFileIO interface added for providing a blueprint on file I/O operations

Designer:
 - Additional ObjectTypes added to the ObjectTypes enum
 - Additional commenting provided throughout the source.
 - Re-organized the source code.
 - Simplified the Constructor code. Roughly 50% less code now.
 - Re-wrote the Object Load code to make it easier to read and maintain.
 - Renamed several menu items to conform to the projects naming conventions
2010-01-17 18:58:26 -08:00

42 lines
1.2 KiB
C#

#region ====== Using Statements ======
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Reflection;
using System.Xml;
using System.Xml.Serialization;
using System.IO;
#endregion
namespace MudDesigner.MudEngine.FileSystem
{
internal class XmlSerialization
{
internal static void Save(string Filename, object o)
{
Stream stream = File.Create(Filename);
XmlSerializer serializer = new XmlSerializer(o.GetType());
serializer.Serialize(stream, o);
stream.Close();
}
/// <summary>
/// Loads an item via Xml Deserialization
/// </summary>
/// <param name="Filename">The Xml document to deserialize.</param>
/// <returns></returns>
internal static object Load(string Filename, object o)
{
Stream stream = File.OpenRead(Filename);
object obj = new object();
XmlSerializer serializer = new XmlSerializer(o.GetType());
obj = (object)serializer.Deserialize(stream);
stream.Close();
return obj;
}
}
}