public static int ItemIDOf(Type type) { int itemId; if (!_itemIds.TryGetValue(type, out itemId)) { if (itemId == 0) { object[] attrs = type.GetCustomAttributes(typeof(CraftItemIDAttribute), false); if (attrs.Length > 0) { CraftItemIDAttribute craftItemID = (CraftItemIDAttribute)attrs[0]; itemId = craftItemID.ItemID; } } if (itemId == 0) { Item item = null; try { item = Activator.CreateInstance(type) as Item; } catch { } if (item != null) { itemId = item.ItemID; item.Delete(); } } _itemIds[type] = itemId; } return(itemId); }
public static int ItemIDOf(Type type) { if (_itemIds.TryGetValue(type, out int itemId)) { return(itemId); } if (type == typeof(FactionExplosionTrap)) { itemId = 14034; } else if (type == typeof(FactionGasTrap)) { itemId = 4523; } else if (type == typeof(FactionSawTrap)) { itemId = 4359; } else if (type == typeof(FactionSpikeTrap)) { itemId = 4517; } if (itemId == 0) { object[] attrs = type.GetCustomAttributes(typeof(CraftItemIDAttribute), false); if (attrs.Length > 0) { CraftItemIDAttribute craftItemID = (CraftItemIDAttribute)attrs[0]; itemId = craftItemID.ItemID; } } if (itemId == 0) { Item item = null; try { item = Activator.CreateInstance(type) as Item; } catch { // ignored } if (item != null) { itemId = item.ItemID; item.Delete(); } } _itemIds[type] = itemId; return(itemId); }
public static int ItemIDOf(Type type) { object obj = m_ItemIDs[type]; if (obj != null) { return((int)obj); } int itemID = 0; if (type == typeof(FactionExplosionTrap)) { itemID = 14034; } else if (type == typeof(FactionGasTrap)) { itemID = 4523; } else if (type == typeof(FactionSawTrap)) { itemID = 4359; } else if (type == typeof(FactionSpikeTrap)) { itemID = 4517; } if (itemID == 0) { object[] attrs = type.GetCustomAttributes(typeof(CraftItemIDAttribute), false); if (attrs.Length > 0) { CraftItemIDAttribute craftItemID = (CraftItemIDAttribute)attrs[0]; itemID = craftItemID.ItemID; } } if (itemID == 0) { Item item = null; try{ item = Activator.CreateInstance(type) as Item; } catch {} if (item != null) { itemID = item.ItemID; item.Delete(); } } m_ItemIDs[type] = itemID; return(itemID); }
public static int ItemIDOf(Type type) { int itemId; if (!_itemIds.TryGetValue(type, out itemId)) { if (type == typeof(FactionExplosionTrap)) { itemId = 14034; } else if (type == typeof(FactionGasTrap)) { itemId = 4523; } else if (type == typeof(FactionSawTrap)) { itemId = 4359; } else if (type == typeof(FactionSpikeTrap)) { itemId = 4517; } #region Mondain's Legacy else if (type == typeof(ArcaneBookshelfSouthDeed)) { itemId = 0x2DEF; } else if (type == typeof(ArcaneBookshelfEastDeed)) { itemId = 0x2DF0; } else if (type == typeof(OrnateElvenChestSouthDeed)) { itemId = 0x2DE9; } else if (type == typeof(OrnateElvenChestEastDeed)) { itemId = 0x2DEA; } else if (type == typeof(ElvenWashBasinSouthDeed) || type == typeof(ElvenWashBasinSouthAddonWithDrawer)) { itemId = 0x2D0B; } else if (type == typeof(ElvenWashBasinEastDeed) || type == typeof(ElvenWashBasinEastAddonWithDrawer)) { itemId = 0x2D0C; } else if (type == typeof(ElvenDresserSouthDeed)) { itemId = 0x2D09; } else if (type == typeof(ElvenDresserEastDeed)) { itemId = 0x2D0A; } #endregion if (itemId == 0) { var attrs = type.GetCustomAttributes(typeof(CraftItemIDAttribute), false); if (attrs.Length > 0) { CraftItemIDAttribute craftItemID = (CraftItemIDAttribute)attrs[0]; itemId = craftItemID.ItemID; } } if (itemId == 0) { Item item = null; try { item = Activator.CreateInstance(type) as Item; } catch { } if (item != null) { itemId = item.ItemID; item.Delete(); } } _itemIds[type] = itemId; } return itemId; }