private static void LoadMonstersFromNodes(XmlNodeList nodes, string rootImagePath) { if (nodes == null) { return; } foreach (XmlNode node in nodes) { Monster monster = new Monster(node.AttributeAsInt("ID"), node.AttributeAsString("Name"), $".{rootImagePath}{node.AttributeAsString("ImageName")}", node.AttributeAsInt("MaximumHitPoints"), ItemFactory.CreateGameItem(node.AttributeAsInt("WeaponID")), node.AttributeAsInt("RewardXP"), node.AttributeAsInt("Gold")); XmlNodeList lootItemNodes = node.SelectNodes("./LootItems/LootItem"); if (lootItemNodes != null) { foreach (XmlNode lootItemNode in lootItemNodes) { monster.AddItemToLootTable(lootItemNode.AttributeAsInt("ID"), lootItemNode.AttributeAsInt("Percentage")); } } _baseMonsters.Add(monster); } }
private static void LoadMonstersFromNodes(XmlNodeList nodes, string rootImagePath) { if (nodes == null) { return; } foreach (XmlNode xmlNode in nodes) { var monster = new Monster(xmlNode.AttributeAsInt("ID"), xmlNode.AttributeAsString("Name"), $"{rootImagePath}{xmlNode.AttributeAsString("ImageName")}", xmlNode.AttributeAsInt("MaximumHitPoints"), Convert.ToInt32(xmlNode.SelectSingleNode("./Dexterity").InnerText), ItemFactory.CreateGameItem(xmlNode.AttributeAsInt("WeaponID")), xmlNode.AttributeAsInt("RewardXP"), xmlNode.AttributeAsInt("Gold") ); var lootItemNodes = xmlNode.SelectNodes("./LootItems/LootItem"); if (lootItemNodes != null) { foreach (XmlNode lootItemNode in lootItemNodes) { monster.AddItemToLootTable(lootItemNode.AttributeAsInt("ID"), lootItemNode.AttributeAsInt("Percentage")); } } _baseMonsters.Add(monster); } }
private static void LoadMonstersFromNodes(XmlNodeList nodes, string rootImagePath) { if (nodes == null) { return; } foreach (XmlNode node in nodes) { Monster monster = new Monster(node.AttributeAsInt("ID"), node.AttributeAsString("NAME"), $".{rootImagePath}{node.AttributeAsString("IMGNAME")}", node.AttributeAsInt("MAXHP"), ItemFactory.CreateGameItem(node.AttributeAsInt("WEAPONID")), node.AttributeAsInt("REWARDEXP"), node.AttributeAsInt("GOLD")); XmlNodeList lootItemNodes = node.SelectNodes("./LootItems/LootItem"); if (lootItemNodes != null) { foreach (XmlNode lootItemNode in lootItemNodes) { monster.AddItemToLootTable(lootItemNode.AttributeAsInt("ID"), lootItemNode.AttributeAsInt("PERCENTAGE")); } } _baseMonsters.Add(monster); } }
private static void LoadLootTableFromMonsterNode(XmlNode monsterNode, Monster monsterType) { XmlNodeList lootItemNodes = monsterNode.SelectNodes("./LootTable/LootItem"); if (lootItemNodes != null) { foreach (XmlNode lootItemNode in lootItemNodes) { /*If there is no Quanity attribute then the value is meant to be 1 */ int?getQuantity = lootItemNode.GetXmlAttributeAsInt("Quantity", true); int quantity = getQuantity ?? 1; monsterType.AddItemToLootTable(lootItemNode.GetXmlAttributeAsInt("ID"), lootItemNode.GetXmlAttributeAsInt("Percentage"), quantity ); } } }
private static void LoadMonstersFromNodes(XmlNodeList nodes, string rootImagePath) { if (nodes == null) { return; } foreach (XmlNode node in nodes) { var attributes = s_gameDetails.PlayerAttributes; attributes.First(a => a.Key.Equals("DEX")).BaseValue = Convert.ToInt32(node.SelectSingleNode("./Dexterity").InnerText); attributes.First(a => a.Key.Equals("DEX")).ModifiedValue = Convert.ToInt32(node.SelectSingleNode("./Dexterity").InnerText); Monster monster = new Monster(node.AttributeAsInt("ID"), node.AttributeAsString("Name"), $".{rootImagePath}{node.AttributeAsString("ImageName")}", node.AttributeAsInt("MaximumHitPoints"), attributes, ItemFactory.CreateGameItem(node.AttributeAsInt("WeaponID")), node.AttributeAsInt("RewardXP"), node.AttributeAsInt("Gold")); XmlNodeList lootItemNodes = node.SelectNodes("./LootItems/LootItem"); if (lootItemNodes != null) { foreach (XmlNode lootItemNode in lootItemNodes) { monster.AddItemToLootTable(lootItemNode.AttributeAsInt("ID"), lootItemNode.AttributeAsInt("Percentage")); } } _baseMonsters.Add(monster); } }