Exemple #1
0
 public Item(String aName, Attack aAttack = null, Defend aDefend = null, Use aUse = null, String aEquipTo = null)
 {
     this.name   = aName;
     this.attack = aAttack;
     this.defend = aDefend;
     this.use    = aUse;
     this.Tags   = new Tags();
     EquipTo     = aEquipTo;
 }
Exemple #2
0
        bool ParseXMLItemFile(String aFile, out Item aItem)
        {
            bool        lResult = true;
            XmlDocument doc     = new XmlDocument();

            doc.Load(aFile);
            String lName    = null;
            String lEquipTo = null;
            Attack lAttack  = null;
            Defend lDefend  = null;

            foreach (XmlNode lNode in doc.DocumentElement.ChildNodes)
            {
                switch (lNode.Name)
                {
                case "Name":
                    lName = lNode.InnerText;
                    break;

                case "EquipTo":
                    lEquipTo = lNode.InnerText;
                    break;

                case "Attack":
                    int lMax = 0;
                    int lMin = 0;
                    foreach (XmlNode l1Node in lNode.ChildNodes)
                    {
                        switch (l1Node.Name)
                        {
                        case "minDamage":
                            lMin = Convert.ToInt32(l1Node.InnerText);
                            break;

                        case "maxDamage":
                            lMax = Convert.ToInt32(l1Node.InnerText);
                            break;
                        }
                    }
                    lAttack = new Attack(lMin, lMax);
                    break;

                case "Defend":
                    int lCon = 0;
                    int lRef = 0;
                    int lWis = 0;
                    foreach (XmlNode l1Node in lNode.ChildNodes)
                    {
                        switch (l1Node.Name)
                        {
                        case "Con":
                            lCon = Convert.ToInt32(l1Node.InnerText);
                            break;

                        case "Ref":
                            lRef = Convert.ToInt32(l1Node.InnerText);
                            break;

                        case "Wis":
                            lWis = Convert.ToInt32(l1Node.InnerText);
                            break;
                        }
                    }
                    lDefend = new Defend(lCon, lRef, lWis);
                    break;

                case "Use":

                    break;

                default:
                    lResult = false;
                    break;
                }
            }
            if (lName != null && lEquipTo != null)
            {
                aItem = new Item(lName, lAttack, lDefend, aEquipTo: lEquipTo);
            }
            else
            {
                aItem = null;
            }
            return(lResult);
        }