public override void DeserializeFromXML(XmlNode node)
{
base.DeserializeFromXML(node);
foreach (XmlNode xn in node.ChildNodes)
{
if (xn.Name == "Tone" &&
xn.Attributes["Name"] != null &&
xn.Attributes["Name"].Value == "DarkTone")
{
mDarkTone.DeserializeFromXML(xn);
}
if (xn.Name == "Tone" &&
xn.Attributes["Name"] != null &&
xn.Attributes["Name"].Value == "LightTone")
{
mLightTone.DeserializeFromXML(xn);
}
if (xn.Name == "Point" &&
xn.Attributes["Name"] != null &&
xn.Attributes["Name"].Value == "AutoDarkCenter")
{
mAutoDarkCenter.DeserializeFromXML(xn);
}
if (xn.Name == "Point" &&
xn.Attributes["Name"] != null &&
xn.Attributes["Name"].Value == "AutoLightCenter")
{
mAutoLightCenter.DeserializeFromXML(xn);
}
}
double res = 0;
if (node.Attributes["Edge"] != null)
{
if (double.TryParse(node.Attributes["Edge"].Value, NumberStyles.Float, nfi, out res))
{
mEdge = res;
}
else
{
throw new IncorrectNodeValueException("Can't parse Edge value");
}
}
res = 0;
if (node.Attributes["Softness"] != null)
{
if (double.TryParse(node.Attributes["Softness"].Value, NumberStyles.Float, nfi, out res))
{
mSoftness = res;
}
else
{
throw new IncorrectNodeValueException("Can't parse Softness value");
}
}
res = 0;
if (node.Attributes["AutoDarkRadius"] != null)
{
if (double.TryParse(node.Attributes["AutoDarkRadius"].Value, NumberStyles.Float, nfi, out res))
{
mAutoDarkRadius = res;
}
else
{
throw new IncorrectNodeValueException("Can't parse AutoDarkRadius value");
}
}
res = 0;
if (node.Attributes["AutoLightRadius"] != null)
{
if (double.TryParse(node.Attributes["AutoLightRadius"].Value, NumberStyles.Float, nfi, out res))
{
mAutoLightRadius = res;
}
else
{
throw new IncorrectNodeValueException("Can't parse AutoLightRadius value");
}
}
bool bres = false;
if (node.Attributes["AutoDarkTone"] != null)
{
if (bool.TryParse(node.Attributes["AutoDarkTone"].Value, out bres))
{
mAutoDarkTone = bres;
}
else
{
throw new IncorrectNodeValueException("Can't parse AutoDarkTone value");
}
}
bres = false;
if (node.Attributes["AutoLightTone"] != null)
{
if (bool.TryParse(node.Attributes["AutoLightTone"].Value, out bres))
{
mAutoLightTone = bres;
}
else
{
throw new IncorrectNodeValueException("Can't parse AutoLightTone value");
}
}
OnChanged();
}