コード例 #1
0
ファイル: XmlProvider.cs プロジェクト: DougLeary/GameBits
 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();
 }
コード例 #2
0
        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);
        }
コード例 #3
0
ファイル: XmlProvider.cs プロジェクト: DougLeary/GameBits
        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);
        }
コード例 #4
0
 public ItemRoll(IResolver item)
     : this(item, ItemRoll.DefaultDieRoll())
 {
 }