private void ItemRollWriteXml(ItemRoll obj) { writer.WriteStartElement("ItemRoll"); Utility.WriteAttribute(writer, "Multiplier", obj.Multiplier, 1); Utility.WriteAttribute(writer, "Percent", obj.Percent, 100); SaveObject(obj.Item); SaveObject(obj.Dice); writer.WriteEndElement(); }
public static bool TryParse(string st, out ItemRoll itemRoll) { GameObject obj; if (GameObject.TryParse(st, out obj)) { itemRoll = new ItemRoll(obj, new DieRoll(1, 6, 0)); return(true); } itemRoll = null; return(false); }
private ItemRoll ItemRollFromXml(XmlNode node) { ItemRoll obj = new ItemRoll(); obj.Multiplier = Utility.ParseAttribute(node, "Multiplier", 1); obj.Percent = Utility.ParseAttribute(node, "Percent", 100); // the only other node that is not a dieroll is item to be rolled XmlNode itemNode = node.SelectSingleNode("*[not (self::DieRoll)]"); obj.Item = (IResolver)LoadObject(itemNode); obj.Dice = DieRollFromXml(node.SelectSingleNode("DieRoll")); return(obj); }
public ItemRoll(IResolver item) : this(item, ItemRoll.DefaultDieRoll()) { }