internal static EntityHands CreateStandardHandsHumanoid() { EntityHands h = new EntityHands(); h.Add(new EntityHand()); h.Add(new EntityHand()); return(h); }
public EntityBase(XElement entityBaseElement) : this() { ID = int.Parse(entityBaseElement.Element("id").Value); Level = int.Parse(entityBaseElement.Element("level").Value); // attributes XElement attributesElement = entityBaseElement.Element("attributes"); Attributes.Strength = int.Parse(attributesElement.Element("strength").Value); Attributes.Intelligence = int.Parse(attributesElement.Element("intelligence").Value); Attributes.Vitality = int.Parse(attributesElement.Element("vitality").Value); Attributes.MaximumHealth = int.Parse(attributesElement.Element("maximum-health").Value); Attributes.CurrentHealth = Attributes.MaximumHealth; Attributes.MaximumMagic = int.Parse(attributesElement.Element("maximum-magic").Value); Attributes.CurrentMagic = Attributes.MaximumMagic; //<inventory> // <hands> // <hand /> // <hand /> // </hands> // <body> // <armor-head /> // <armor-feet /> // <armor-chest>0</armor-chest> // <ring /> // <ring /> // <amulet /> // <backpack>0</backpack> // </body> // <gold>50</gold> //</inventory> var inventoryElement = entityBaseElement.Element("inventory"); // hands var handElements = inventoryElement.Elements("hands"); foreach (var handElement in handElements.Elements("hand")) { Hands.Add(new EntityHand(handElement)); } // body var bodyElement = inventoryElement.Element("body"); foreach (var bodyPartElement in bodyElement.Elements()) { switch (bodyPartElement.Name.LocalName) { case "armor-chest": Body.BodyParts.Add(new EntityBodyPartChest(bodyPartElement)); break; case "armor-head": Body.BodyParts.Add(new EntityBodyPartHead(bodyPartElement)); break; case "armor-feet": Body.BodyParts.Add(new EntityBodyPartFeet(bodyPartElement)); break; case "backpack": // TODO: finish // Body.BodyParts.Add(new EntityBodyPartHead(bodyPartElement)); break; case "finger": Body.BodyParts.Add(new EntityBodyPartFinger(bodyPartElement)); break; case "neck": Body.BodyParts.Add(new EntityBodyPartNeck(bodyPartElement)); break; } } // gold var goldNode = inventoryElement.Element("gold"); if (goldNode != null) { Gold = int.Parse(goldNode.Value); } }