Cloning infrastructure and breaking up spriteInfo to be able to hold multiple animations for one sprite

This commit is contained in:
2017-09-15 20:16:26 -05:00
parent 72f1c3ac79
commit b881985b1b
2 changed files with 58 additions and 3 deletions

View File

@ -238,6 +238,37 @@ namespace SpriteLibrary
reader.Close();
}
}
public static string WriteToXMLString<T>(T toSerialize)
{
XmlSerializer xmlSerializer = new XmlSerializer(toSerialize.GetType());
using (StringWriter textWriter = new StringWriter())
{
xmlSerializer.Serialize(textWriter, toSerialize);
return textWriter.ToString();
}
}
public static T ReadFromXmlString<T>(string toDeserialize) where T : new()
{
XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));
using (StringReader textReader = new StringReader(toDeserialize))
return (T)xmlSerializer.Deserialize(textReader);
}
public static T CloneByXMLSerializing<T>(T ObjectToClone)
{
XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));
string dest;
using (StringWriter textWriter = new StringWriter())
{
xmlSerializer.Serialize(textWriter, ObjectToClone);
dest = textWriter.ToString();
}
using (StringReader textReader = new StringReader(dest))
return (T)xmlSerializer.Deserialize(textReader);
}
#endregion
}