RangeValueGenerator CreateRangeValueGenerator(XElement rangeValueElement) { int?min = null; int?max = null; //Get min XAttribute minAttribute = rangeValueElement.Attribute("min"); if (minAttribute != null) { int value; if (TryParseIntegerAttribute(rangeValueElement, minAttribute, out value)) { min = value; } } else { _errorCollection.AddAttributeNotFound("min", rangeValueElement); } //Get max XAttribute maxAttribute = rangeValueElement.Attribute("max"); if (maxAttribute != null) { int value; if (TryParseIntegerAttribute(rangeValueElement, maxAttribute, out value)) { max = value; } } else { _errorCollection.AddAttributeNotFound("max", rangeValueElement); } if (!min.HasValue || !max.HasValue) { return(null); } RangeValueGenerator rangeValueGenerator = new RangeValueGenerator(min.Value, max.Value); //Optionally get step XAttribute stepAttribute = rangeValueElement.Attribute("step"); if (stepAttribute != null) { int value; if (TryParseIntegerAttribute(rangeValueElement, stepAttribute, out value)) { rangeValueGenerator.Step = value; } } return(rangeValueGenerator); }
public static AbstractValueGenerator getValueGenerator(XmlNode generator) { AbstractValueGenerator gen = null; if (generator != null) { if ("RangeValueGenerator".Equals(generator["type"].InnerText)) { gen = new RangeValueGenerator(float.Parse(generator["min"].InnerText), float.Parse(generator["max"].InnerText)); } if ("ConstantValueGenerator".Equals(generator["type"].InnerText)) { gen = new ConstantValueGenerator(float.Parse(generator["value"].InnerText)); } } return(gen); }