public void Read(XmlReader reader) { if (reader.Name == "FLOATFUNC") { _ReturnType = SEType.FloatVar; } else if (reader.Name == "VECFUNC") { _ReturnType = SEType.VectorVar; } else { _ReturnType = SEType.Null; } reader.MoveToNextAttribute(); if (reader.NodeType == XmlNodeType.Attribute && reader.Name == "name") { _Name = reader.Value; } _DistParams = new List <DistParam>(); while (reader.Read() && reader.NodeType != XmlNodeType.EndElement) { if (reader.NodeType == XmlNodeType.Element && reader.Name == "PARAM") { DistParam param = new DistParam(); // index, name, type reader.MoveToNextAttribute(); if (reader.NodeType == XmlNodeType.Attribute && reader.Name == "index") { param._Index = int.Parse(reader.Value); } reader.MoveToNextAttribute(); if (reader.NodeType == XmlNodeType.Attribute && reader.Name == "name") { param._Name = reader.Value; } reader.MoveToNextAttribute(); if (reader.NodeType == XmlNodeType.Attribute && reader.Name == "type") { switch (reader.Value) { case "vec": param._Type = SEType.VectorVar; break; case "float": param._Type = SEType.FloatVar; break; } } _DistParams.Add(param); } } }
public void Read(XmlReader reader) { if (reader.Name == "FLOATFUNC") _ReturnType = SEType.FloatVar; else if (reader.Name == "VECFUNC") _ReturnType = SEType.VectorVar; else _ReturnType = SEType.Null; reader.MoveToNextAttribute(); if (reader.NodeType == XmlNodeType.Attribute && reader.Name == "name") _Name = reader.Value; _DistParams = new List<DistParam>(); while (reader.Read() && reader.NodeType != XmlNodeType.EndElement) { if (reader.NodeType == XmlNodeType.Element && reader.Name == "PARAM") { DistParam param = new DistParam(); // index, name, type reader.MoveToNextAttribute(); if (reader.NodeType == XmlNodeType.Attribute && reader.Name == "index") param._Index = int.Parse(reader.Value); reader.MoveToNextAttribute(); if (reader.NodeType == XmlNodeType.Attribute && reader.Name == "name") param._Name = reader.Value; reader.MoveToNextAttribute(); if (reader.NodeType == XmlNodeType.Attribute && reader.Name == "type") { switch (reader.Value) { case "vec": param._Type = SEType.VectorVar; break; case "float": param._Type = SEType.FloatVar; break; } } _DistParams.Add(param); } } }