/// <summary>
/// Deserialize the object from a XML reader
/// </summary>
/// <param name="reader"> XML reader</param>
void IXmlSerializable.ReadXml(System.Xml.XmlReader reader)
{
MemoryStream memStream;
BinaryReader binReader;
byte[] bytes;
int iCount;
if (reader.MoveToContent() != XmlNodeType.Element || reader.LocalName != "MoveHistory")
{
throw new SerializationException("Unknown format");
}
else
{
memStream = new MemoryStream(32768);
bytes = new byte[32768];
do
{
iCount = reader.ReadElementContentAsBinHex(bytes, 0, bytes.Length);
if (iCount != 0)
{
memStream.Write(bytes, 0, iCount);
}
} while (iCount != 0);
memStream.Seek(0, SeekOrigin.Begin);
binReader = new BinaryReader(memStream);
using (binReader) {
LoadFromStream(binReader);
}
}
}