} //Use ItemType to check its type public Item(GameWorld world, IItemType itemType, ModItemDfnXML itemData, bool createNow = false) : base(-1, world) { this.itemType = itemType; this.itemData = itemData; this.itemType.Item = this; if (createNow) { create(); } }
public Item PreProduce(ModItemDfnXML findedItem) { var findedItemTypeXml = mod.FindItemType(findedItem.Type); if (findedItemTypeXml != null) { var findedItemTypes = mod.ItemTypes.Where(o => o.Name == findedItemTypeXml.Name); if (findedItemTypes.Count() > 0) { Item itm = new Item(Guid.NewGuid().ToString(), findedItem.Name, findedItem.MaterialName, findedItemTypes.ElementAt(0), ItemHaveAttachOption.IHAO_NO_VALUE, ItemUseAttachOption.IAO_NO_VALUE); return(itm); } } return(null); }
public Item PreProduce(ModData modData, GameWorld world, ModItemDfnXML findedItem) { var itemType = modData.ItemTypes.Where(o => o.Name == findedItem.Type).FirstOrDefault(); if (itemType == null) { throw new Exception("Couldn't find properly item type!"); } itemType.ModData = modData; Item item = new Item(world, itemType, findedItem); return(item); }
public Item GetItemByXml(ModItemDfnXML itemXml) { return(ItemFactory.Instance.Produce(itemXml, this)); }