/// <summary> /// Get vendor inventory XML. /// </summary> /// <param name="container">The inventory name.</param> /// <returns>The vendor inventory XML.</returns> public string ToXml(string container) { if (Itemsets.Itemset.Items.Items.Count > 0) { ModelInventoryInventory ObjInventory = new ModelInventoryInventory() { Container = container }; int ListPosition = 1; foreach (ModelVendorItem ObjVendorItem in Itemsets.Itemset.Items.Items) { ModelInventoryInventoryItem ObjInventoryItem = ConvertVendorToInventoryItem(ObjVendorItem, ListPosition); ListPosition = ListPosition + 1; ObjInventory.Items.Items.Add(ListPosition, ObjInventoryItem); } return(ObjInventory.ToXml); } return("<inventory />"); }
/// <summary> /// Convert item to inventory item /// </summary> /// <param name="key">The item key.</param> /// <param name="position">The inventory position.</param> /// <param name="level">The item level.</param> /// <param name="index">The item inventory index.</param> /// <param name="count">The number of items.</param> /// <param name="seed">The item seed.</param> /// <param name="serializationData">The item serialization data.</param> /// <param name="sellable">Flag if the item is sellable.</param> /// <param name="tradeable">Flag if the item is tradeable.</param> /// <param name="destroyable">Flag if the item is destroyable.</param> /// <param name="isBound">Flag if the item is bound.</param> /// <returns>The inventory item.</returns> public ModelInventoryInventoryItem ToInventoryItem(string key, int position, int level, int index, int count = 1, int seed = 0, string serializationData = "addsilent", string sellable = "false", string tradeable = "false", string destroyable = "false", string isBound = "false") { ModelInventoryInventoryItem Item = new ModelInventoryInventoryItem() { Id = key, Type = InventoryItemTypes.Consumable, Itempos = position, Count = count, Index = index, Sellable = sellable, Tradeable = tradeable, Destroyable = destroyable, Isbound = isBound, Level = level, Seed = seed, SerializationData = serializationData }; return(Item); }
public ModelInventoryInventoryItem ConvertVendorToInventoryItem(ModelVendorItem ObjVendorItem, int ListPosition = 0) { ModelInventoryInventoryItem ObjInventoryItem = new ModelInventoryInventoryItem(); if (ObjVendorItem.Purchase.Trait != null) { ObjInventoryItem = Database.Traits[ObjVendorItem.Purchase.Trait.Text].ToInventoryItem(ObjVendorItem.Purchase.Trait.Text, ListPosition, ObjVendorItem.Purchase.Trait.Level, ListPosition); } else if (ObjVendorItem.Purchase.Consumable != null) { ObjInventoryItem = Database.Consumables[ObjVendorItem.Purchase.Consumable.Text].ToInventoryItem(ObjVendorItem.Purchase.Consumable.Text, ListPosition, 0, ListPosition, ObjVendorItem.Purchase.Consumable.Quantity); } else if (ObjVendorItem.Purchase.Material != null) { ObjInventoryItem = Database.Materials[ObjVendorItem.Purchase.Material.Text].ToInventoryItem(ObjVendorItem.Purchase.Material.Text, ListPosition, 0, ListPosition, ObjVendorItem.Purchase.Material.Quantity); } else if (ObjVendorItem.Purchase.Blueprint != null) { ObjInventoryItem = Database.Blueprints[ObjVendorItem.Purchase.Blueprint.Text].ToInventoryItem(ObjVendorItem.Purchase.Blueprint.Text, ListPosition, 0, ListPosition, ObjVendorItem.Purchase.Blueprint.Quantity); } else if (ObjVendorItem.Purchase.Design != null) { ObjInventoryItem = Database.Designs[ObjVendorItem.Purchase.Design.Text].ToInventoryItem(ObjVendorItem.Purchase.Design.Text, ListPosition, 0, ListPosition, ObjVendorItem.Purchase.Design.Quantity); } else if (ObjVendorItem.Purchase.Advisor != null) { ObjInventoryItem = Database.Advisors[ObjVendorItem.Purchase.Advisor.Text].ToInventoryItem(ObjVendorItem.Purchase.Advisor.Text, ListPosition, 0, ListPosition, ObjVendorItem.Purchase.Advisor.Quantity); } else if (ObjVendorItem.Purchase.Lootroll != null) { ObjInventoryItem = Database.Lootrolls[ObjVendorItem.Purchase.Lootroll.Text].ToInventoryItem(ObjVendorItem.Purchase.Lootroll.Text, ListPosition, 0, ListPosition, ObjVendorItem.Purchase.Lootroll.Quantity); } else { throw new ArgumentOutOfRangeException($"Vendor::GetInventoryXml - Unknown vendor item"); } ObjInventoryItem.Cost = new ModelInventoryInventoryItemCost() { Capitalresource = new ModelGenericCapitalresource() { Type = CapitalResourceTypes.cCapResCoin, Quantity = 200 } }; return(ObjInventoryItem); }